GridView1_RowEditing1イベントを使用して、gridview select行からセッション値を渡そうとしています。プライマリキー(p.key)のセッション値を取得できますが、Associate_IDは空のまま戻ります。gridview findcontrol何も返さない空の文字列(空白)
C#コードの後ろ
protected void GridView1_RowEditing1(object sender, GridViewEditEventArgs e)
{
int primarykey = Convert.ToInt32(GridView1.DataKeys[e.NewEditIndex].Value);
string name = Convert.ToString(GridView1.Rows[e.NewEditIndex].FindControl("Associate_ID"));
Session["Number"] = primarykey;
Session["Name"] = name;
//redirect
Response.Redirect("updatee.aspx");
}
.ASPX
<asp:TemplateField HeaderText="Associate_ID" SortExpression="Associate_ID">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Associate_ID") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("Associate_ID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
OUTPUT:
キー:5
名前:あなたが見ることができるように私は
を取得しておりません選択したフィールドのAssociate_ID。 はまた
string name = Convert.ToString(GridView1.Rows[3].Cells[3].FindControl("Associate_ID"));
を使用して試みたが、何の結果はありませんでした、グリッドは、複数の列と行(8×15)を有し
はgridview findcontrol returning empty ""の提案を試み、ポストバックで再結合のGridViewを停止しようとしました。 GridViewのから 削除DataSourceID
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ID" OnRowEditing="GridView1_RowEditing1" OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
コードこの
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//DataSourceID = "SqlDataSource1"
GridView1.DataSource = SqlDataSource1;
GridView1.DataBind();
}
}
なしの背後には、助けました。私はまだAssociate_IDの空白値を取得しています。 問題がどこにあるかわかりません。助けてください!
遭遇され、私の作業のコードは次のようになります空白 "" – rakesh
も、テキストボックスの名前を変更しようとしましたが、まだ同じです:( – rakesh
は、実際には以下を使用してNULLを返すことを確認しました。 - にFindControl( "のTextBox1"); ' '文字列QUES =名.text)は 'これは – rakesh