Я хочу связать Hidden Field
, потому что я хочу передать значение из кода позади в asp:Parameter Name="HOME_TEAM_COACH_ID" Type="Int32"
.Bind a HiddenField в gridview
Мой жерех:
<asp:FormView ID="FormView1" runat="server" OnItemUpdated="FormView1_ItemUpdating" >
<EditItemTemplate>
HOME_TEAM:
<asp:DropDownList ID="DropDownListHometeam" runat="server"
DataSourceID="SqlDataGetTeams"
DataTextField="NAME" DataValueField="ID" SelectedValue='<%# Bind("HOME_TEAM_ID") %>'>
</asp:DropDownList>
<asp:HiddenField runat="server" ID="testLabel" Value='<%# Bind("HOME_TEAM_COACH_ID") %>' />
</EditItemTemplate>
И C# за это:
protected void FormView1_ItemUpdating(object sender, FormViewUpdatedEventArgs e)
{
if (FormView1.CurrentMode == FormViewMode.Edit)
{
DropDownList HomeTeamId = FormView1.FindControl("DropDownListHometeam") as DropDownList;
string team = string.Format("{0}", HomeTeamId.Text);
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["BasketballConnectionString1"].ToString());
conn.Open();
string queryHome = "SELECT dbo.COACH.ID, dbo.COACH.SURENAME FROM dbo.COACH INNER JOIN dbo.GAMES ON dbo.COACH.TEAM_ID = dbo.GAMES.HOME_TEAM_ID WHERE (dbo.GAMES.HOME_TEAM_ID =" + team + ")";
SqlCommand cmd = new SqlCommand(queryHome, conn);
var Home_Coach_Id = cmd.ExecuteScalar().ToString();
HiddenField HomeCoachIdLabel = FormView1.FindControl("testLabel") as HiddenField;
HomeCoachIdLabel.Value = Convert.ToString(Home_Coach_Id);
conn.Close();
Я хочу, чтобы помочь с последними четырех строк, где я хочу, чтобы передать значение Home_Coach_Id
связывать asp:HiddenField ID="testLabel" Value='<%# Bind("HOME_TEAM_COACH_ID") %>'
.
Когда я нажимаю обновление, он не изменяет значение в базе данных. (Когда я отлаживаю, в последних строках он дает мне правильный HomeCoachIdLabel.Value
.) любые предложения?
Когда я отлаживаю запрос, он возвращает значение int (Id). Мне нужно передать это значение в столбец HOME_TEAM_COACH_ID в базе данных. – Apollon
@Apollon - вам нужно сделать 'UPDATE', а не' SELECT' и использовать '.ExecuteNonQuery()' вместо '.ExecuteScalar()'. –
Когда я обновляю, он выполняет из asp sqldatasource этот запрос: UpdateCommand = "UPDATE GAMES SET AGONISTIKI = AGONISTIKI, HOME_TEAM_COACH_ID = @HOME_TEAM_COACH_ID WHERE (ID = @ID)" – Apollon