关于hiddenfield的值调用问题

amamiyakaoki 2009-04-13 10:59:52
在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的值,请高手指教~~~先谢过了
...全文
89 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
amamiyakaoki 2009-04-14
  • 打赏
  • 举报
回复
恩,果然如此,多谢啦~~~
机器人 2009-04-13
  • 打赏
  • 举报
回复
我的意思是,你可以把隐藏控件放在最后一列可见列里。
机器人 2009-04-13
  • 打赏
  • 举报
回复
我记得如果用Visible=False那么就不会在客户端生成这个控件了。

你用别的方法来隐藏列吧。本身Hidden控件就看不到,你可以直接放在最后一列里。

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧