2012-05-30 73 views
0

我有一个gridview有4列,即:“用户ID”,“描述”,“显示密码”,“更改密码”。如何在单击其他单元格的文本框中获取gridview的单元格值?

我在每个单元格的Change Password列中放置了一个Image Button,Gridview下面有3个文本框。

当我点击更改密码,该特定行的用户ID应在文本框中显示1

如何在C#和后端asp.net做,这是MySQL数据库服务器?

回答

0

将“更改密码”列更改为超链接字段。在“数据”部分中该列的属性中,您可以看到DataNavigateUrlFields属性。将其设置为“用户ID”。然后在DataNavigateUrlFormatString属性设置为相同的页面如下

~/User.aspx?UserId={0} 

然后在页面加载事件中写入以下代码

String userId= Request["UserId"]; 
     if (!string.IsNullOrEmpty(userId)) 
      TextBox1.Text = userId; 

这可能不是最好的shoot.But这可能是一些工作各地

+0

嗨Udaya,感谢您的答复。但是我没有在Gridview定义的.aspx文件中获得CellContentClick的任何选项。我必须编写哪些gridview属性? – Abu

+0

我不想要超链接Udaya。因为我正在为一家公司开发一个门户网站,他们告诉我要在Change PW专栏中拍照。请帮忙。 – Abu

1

我的选择是使用CommandArgument属性,并指定到单击事件的方法直接在后面的ASPX代码按钮:

<asp:Button ID="btnChangePassword" CommandArgument='<%# Eval('UserID') %>' OnClick="MyEventMethod" /> 

然后在后面的代码,你将不得不处理它的方法:

public void MyEventMethod(object sender, EventArgs e) 
{ 
    Button btn = (Button)sender; 
    this.TextBox1.Text = btn.CommandArgument; 
} 

另一种方法是使用JavaScript(避免回传)和OnClientClick属性。在你的gridview上方的某个地方,你需要一个方法来处理这个任务。

<script type="text/javascript"> 
    // Gets the actual reference to the textbox in javascript 
    // using the client id 
    function SetTextBoxUserID(userid) 
    { 
     var textbox1 = document.getElementById('<%= this.TextBox1.ClientID %>'); 
     textbox1.value = userid; 
    } 
</script> 

然后控制会是什么样子:

<asp:Button ID="btnChangePassword" OnClientClick='SetTextBoxUserID(<%# "'" + Eval("UserID") + "'" %>)' /> 
+0

更好地使用JavaScript示例,客户端会更快。 – Ravia

+0

问题解决了... – Abu

相关问题