在gridview里定义了一个模板列如下
<asp:TemplateField HeaderText="user_id" Visible="False">
<ItemTemplate>
<asp:HiddenField ID="user_id" runat="server" Value='<%# Eval("user_name") %>' />
</ItemTemplate>
</asp:TemplateField>
gridview里的删除按钮来获取模板列值并删除指定行
public void userlist_RowCommand(Object sender, GridViewCommandEventArgs e)
{
// If multiple ButtonField column fields are used, use the
// CommandName property to determine which button was clicked.
if (e.CommandName == "del")
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow selectedRow = userlist.Rows[index];
TableCell contactCell = selectedRow.Cells[0];
TableCell usercheck = selectedRow.Cells[1];
string contact = contactCell.Text;
string user = usercheck.Text;
HiddenField hi = (HiddenField)this.userlist.Rows[index].Cells[0].FindControl("user_id");
theService.MessageBox(hi.Value);//这里是有问题的地方,返回的hi的值什么也没有
// Display the selected Customer.
// theService.MessageBox("You selected " + contact.ToString() + ".");
if (user.ToString() == theService.administrator.ToString())
theService.MessageBox("系统提示:请勿尝试删除此帐户,系统出于保护数据需要已经取消了您的操作!");
else
{
try
{
theService.ExecuteSql("delete from [UserInfo] where user_id=" + id + "");
Response.Redirect("yhgl.aspx");
}
catch
{
theService.MessageBox("系统提示:操作失败,请重试!");
}
}
}说明:列名是正确的,系统也没报错,就是读不出来user_id的值,请高手指教~~~先谢过了
<asp:TemplateField HeaderText="user_id" Visible="False">
<ItemTemplate>
<asp:HiddenField ID="user_id" runat="server" Value='<%# Eval("user_name") %>' />
</ItemTemplate>
</asp:TemplateField>
gridview里的删除按钮来获取模板列值并删除指定行
public void userlist_RowCommand(Object sender, GridViewCommandEventArgs e)
{
// If multiple ButtonField column fields are used, use the
// CommandName property to determine which button was clicked.
if (e.CommandName == "del")
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow selectedRow = userlist.Rows[index];
TableCell contactCell = selectedRow.Cells[0];
TableCell usercheck = selectedRow.Cells[1];
string contact = contactCell.Text;
string user = usercheck.Text;
HiddenField hi = (HiddenField)this.userlist.Rows[index].Cells[0].FindControl("user_id");
theService.MessageBox(hi.Value);//这里是有问题的地方,返回的hi的值什么也没有
// Display the selected Customer.
// theService.MessageBox("You selected " + contact.ToString() + ".");
if (user.ToString() == theService.administrator.ToString())
theService.MessageBox("系统提示:请勿尝试删除此帐户,系统出于保护数据需要已经取消了您的操作!");
else
{
try
{
theService.ExecuteSql("delete from [UserInfo] where user_id=" + id + "");
Response.Redirect("yhgl.aspx");
}
catch
{
theService.MessageBox("系统提示:操作失败,请重试!");
}
}
}说明:列名是正确的,系统也没报错,就是读不出来user_id的值,请高手指教~~~先谢过了
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货