点击 asdf 这行"编辑" 怎么 获取cccc的主键值? 我的相关代码
在 父Gridview 那个事件下 获取主键值 给 Index;
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
Index = Convert.ToInt16(e.CommandArgument.ToString());//我这样写不行我在 前台怎么给 CommandArgument赋值?
Response.Write(e.CommandArgument.ToString().Length);//结果是 :0
} protected void ClassChild_RowEditing(object sender, GridViewEditEventArgs e)
{ GridView ClassChild = (GridView)sender;
ClassChild.EditIndex = e.NewEditIndex;
BindChild(ClassChild); }
protected void BindChild(GridView gv)
{
gv.DataSource = Bll.GetList("SD_class.SD_ParentId =" + Convert.ToInt16(GridView1.DataKeys[Index].Values[0]) + "and SD_class.SD_Level=2"); //现在报错的地方就是 这个 "Index";
gv.DataBind();
}
private int Index
{
get
{
if (ViewState["Index"] != null && ViewState["Index"].ToString() != "")
{
return Convert.ToInt32(ViewState["Index"]);
}
else
{
return -1;
}
}
set
{
ViewState["Index"] = value;
}
}
这是 中间一个模板列的内容
<asp:TemplateField HeaderText="删除" ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandArgument='<%# Eval("SD_ClassId") %>' CommandName="Delete"
Text="删除"></asp:LinkButton>
</ItemTemplate>
<FooterTemplate>
<asp:LinkButton ID="AddClass" runat="server" CausesValidation="False" CommandName="AddClass"
Text="添加栏目"></asp:LinkButton>
</FooterTemplate>
</asp:TemplateField>
弄了好长时间 没弄成 谢谢 各位了.
上一贴地址 上一贴地址
在 父Gridview 那个事件下 获取主键值 给 Index;
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
Index = Convert.ToInt16(e.CommandArgument.ToString());//我这样写不行我在 前台怎么给 CommandArgument赋值?
Response.Write(e.CommandArgument.ToString().Length);//结果是 :0
} protected void ClassChild_RowEditing(object sender, GridViewEditEventArgs e)
{ GridView ClassChild = (GridView)sender;
ClassChild.EditIndex = e.NewEditIndex;
BindChild(ClassChild); }
protected void BindChild(GridView gv)
{
gv.DataSource = Bll.GetList("SD_class.SD_ParentId =" + Convert.ToInt16(GridView1.DataKeys[Index].Values[0]) + "and SD_class.SD_Level=2"); //现在报错的地方就是 这个 "Index";
gv.DataBind();
}
private int Index
{
get
{
if (ViewState["Index"] != null && ViewState["Index"].ToString() != "")
{
return Convert.ToInt32(ViewState["Index"]);
}
else
{
return -1;
}
}
set
{
ViewState["Index"] = value;
}
}
这是 中间一个模板列的内容
<asp:TemplateField HeaderText="删除" ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandArgument='<%# Eval("SD_ClassId") %>' CommandName="Delete"
Text="删除"></asp:LinkButton>
</ItemTemplate>
<FooterTemplate>
<asp:LinkButton ID="AddClass" runat="server" CausesValidation="False" CommandName="AddClass"
Text="添加栏目"></asp:LinkButton>
</FooterTemplate>
</asp:TemplateField>
弄了好长时间 没弄成 谢谢 各位了.
上一贴地址 上一贴地址
解决方案 »
- 一个简单的SQL语句
- Datalist中单个数据的判断输出问题
- 关于反射技术+工厂模式的资料 有的速度贡献出来!!
- 在线求助:急,今天一定要完成的项目,JS关于框架传参
- 跪求:提取数据库中第一行记录的代码.
- 大侠们快来帮帮忙呀,都一天了郁闷死了!
- datagrid详细页现实问题
- 不知道大家在验证码中的干扰点是怎么做的,我一点思路都没有
- 有没有办法在web里,让TreeView,在父节点被点击选中时,子节点全部被选中;当子节点点击选中时,父结点被选中,最好客户端不要回送,急,
- VS2008打开或者创建ASP.NET程序就报错!请帮忙看一下~~
- javascript在ie8中的问题!
- prototype.js简单应用报错(ajax未定义)
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if(e.CommandName == "Delete")
{ Index = Convert.ToInt16(e.CommandArgument.ToString());//我这样写不行我在 前台怎么给 CommandArgument赋值?
Response.Write(e.CommandArgument.ToString().Length);//结果是 :0
}
}
{
Index = Convert.ToInt16(e.CommandArgument.ToString());//
}
http://www.cnblogs.com/oomusou/archive/2007/06/26/796094.html
{
int parent_index = e.NewEditIndex;
ParentGridView.EditIndex = parent_index;
bindParent();
Session["sCategoryID"] =Convert.ToInt32(ParentGridView.DataKeys[parent_index].Value);
Session["sParentGridViewIndex"] = parent_index;
}
\
{
int parent_index = (int)Session["sParentGridViewIndex"];
GridViewRow parent_row = ParentGridView.Rows[parent_index];
GridView ChildGridView = (GridView)parent_row.FindControl("ChildGridView");
int child_index = e.NewEditIndex;
ChildGridView.EditIndex = child_index;
Session["sProductID"] = Convert.ToInt32(ChildGridView.DataKeys[child_index].Value);
}
那么后台就可以按你那样取值了
if(e.CommandName == "Delete")
{
string parentid = GridView1.DataKeys[Index].Value.ToString();
删除后绑定
}
{ GridView ClassChild = (GridView)sender;
ClassChild.EditIndex = e.NewEditIndex;
BindChild(ClassChild);
//
GridViewRow parentRow = (GridViewRow)ClassChild.BindingContainer;
object parentKey = GridView1.DataKeys[parentRow.RowIndex].Value;
}
本身控件层次足够你回溯到任何父级控件属性2. 一定要善用 Control_Event(object sender ...) 中的 sender 以及 Control.NamingContainer 和 Control.BindingContainer 属性3. ASP.NET DEMO 5:如何在GridView的RowCommand事件中获取当前的GridViewRow
本身控件层次足够你回溯到任何父级控件属性 2. 一定要善用 Control_Event(object sender ...) 中的 sender 以及 Control.NamingContainer 和 Control.BindingContainer 属性 3. ASP.NET DEMO 5:如何在GridView的RowCommand事件中获取当前的GridViewRow
----------------------
学习学习