怎么在c#里取得aspx文件里的控件?

lude8880 2009-03-16 02:24:43
如题
...全文
250 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
lude8880 2009-03-17
  • 打赏
  • 举报
回复
搞定了,用parent。
jing87898797 2009-03-16
  • 打赏
  • 举报
回复
lude8880 2009-03-16
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 mubai007 的回复:]
protected void GridView1_RowUpdated(object sender, GridViewUpdatedEventArgs e)
    {
        string name = ((DropDownList)this.GridView1.SelectedRow.Cells[0].FindControl("DropDownList4")).SelectedValue;
    }
[/Quote]
selectedrow是null :-(
lude8880 2009-03-16
  • 打赏
  • 举报
回复
现在得到同事建议,在“生成”个行的dropdownlist时加一个行数的属性。请问是什么事件啊?
lude8880 2009-03-16
  • 打赏
  • 举报
回复
在GridView1_RowUpdating里可以用GridView1.Rows[e.RowIndex].找出是哪行的dropdownlist,在OnSelectedIndexChanged怎么找啊?这个OnSelectedIndexChanged是同一行的另外一个dropdownlist
volnet 2009-03-16
  • 打赏
  • 举报
回复
rowupdating
是抄你自己7楼的写法的,还以为你要在那里写嘛,呵呵,我也纳闷你怎么会在那里写。HOHO,找对了就好。
lude8880 2009-03-16
  • 打赏
  • 举报
回复
不是rowupdating!!是OnSelectedIndexChanged!!!
mubai007 2009-03-16
  • 打赏
  • 举报
回复
protected void GridView1_RowUpdated(object sender, GridViewUpdatedEventArgs e)
{
string name = ((DropDownList)this.GridView1.SelectedRow.Cells[0].FindControl("DropDownList4")).SelectedValue;
}
lude8880 2009-03-16
  • 打赏
  • 举报
回复
我的代码不在CustomersGridView_RowUpdating里,而在OnSelectedIndexChanged里
volnet 2009-03-16
  • 打赏
  • 举报
回复
7楼的写法本身就有问题,首先我们要判断e.RowIndex是否合法,其次我们不能保证我们FindControl的结果!=null,这样直接.SelectedValue就会变成一个引用异常。正确的写法应该大致如下:
以下代码来源MSDN:

void CustomersGridView_RowUpdating(Object sender, GridViewUpdateEventArgs e)
{

// Iterate through the NewValues collection and HTML encode all
// user-provided values before updating the data source.
foreach (DictionaryEntry entry in e.NewValues)
{

e.NewValues[entry.Key] = Server.HtmlEncode(entry.Value.ToString());

}

}




// Find control on page.
Control myControl1 = FindControl("TextBox2");
if(myControl1!=null)

三生Omier 2009-03-16
  • 打赏
  • 举报
回复
遍历控件,如7楼所说,然后findcontrol["id"]
lude8880 2009-03-16
  • 打赏
  • 举报
回复
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
里可以
string name = ((DropDownList)GridView1.Rows[e.RowIndex].FindControl("DropDownList4")).SelectedValue;
但是

protected void OnSelectedIndexChanged(Object sender,EventArgs e)
这里没有e.rowindex
xiaoyasheng 2009-03-16
  • 打赏
  • 举报
回复
FindControl方法
lude8880 2009-03-16
  • 打赏
  • 举报
回复
问题我没说清楚,我的
<asp:TemplateField HeaderText="质量更改从">
<ItemTemplate>
<asp:DropDownList ID="DropDownList2" runat="server"
>
</asp:DropDownList>
</ItemTemplate>
在一个griedview里面,运行后id被改了。
moonshineidolon 2009-03-16
  • 打赏
  • 举报
回复
page.coutrols.find
insus 2009-03-16
  • 打赏
  • 举报
回复
用户近控件拉到aspx页面上去时,也是如同标准控件一样,可以取得到的.
不知楼主问题卡在哪里?
lude8880 2009-03-16
  • 打赏
  • 举报
回复
比如怎么获得一个id是dropdownlist6的dropdownlist?
三生Omier 2009-03-16
  • 打赏
  • 举报
回复
啥意思,没看明白,帮顶
xiaoyasheng 2009-03-16
  • 打赏
  • 举报
回复
你是说在cs代码中如何取页面的控件吧,
本来就是代码分离的,直接用就可以了哦

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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