如何在asp.net后台代码中获取前台div,其中要获取div的id是在后台通过变量拼接而成的,前台div已经添加runat="server"

时间:2021-02-11 17:24:42
如题,前台代码为:
    <div id = "XS_01" runat="server" >测试01</div>
        <div id = "XS_02" runat="server" >测试02</div>
        <div id = "XS_03" runat="server" >测试03</div>
        <div id = "XS_04" runat="server" >测试04</div>
        <div id = "XS_05" runat="server" >测试05</div>
后台代码为:
    string HouZhui = "01";
    string div = "XS_" + HouZhui;
直接通过"XS_01"可以直接访问该div,但问题是怎样通过这个变量div 获取前台的名称为“XS_01”的div呢?

5 个解决方案

#1


拼接而成的,貌似要转换为相应的控件类型才行,不然你拼接好的只是个字符串string类型,肯定没法调用了啊

#2


引用 1 楼 yangmingxing980 的回复:
拼接而成的,貌似要转换为相应的控件类型才行,不然你拼接好的只是个字符串string类型,肯定没法调用了啊


是的,关键现在不知道要怎么转化,执行会提示错误:
“string”不包含“Style”的定义,并且找不到可接受类型为“string”的第一个参数的扩展方法“Style”(是否缺少 using 指令或程序集引用?)

#3


自己顶一下,还望高手多多指导!

#4


string HouZhui = "01";
string div = "XS_" + HouZhui;
HtmlGenericControl hgc = (HtmlGenericControl)Page.FindControl(div);
Response.Write(hgc.InnerText);

#5


引用 4 楼 HJ850126 的回复:
string HouZhui = "01";
string div = "XS_" + HouZhui;
HtmlGenericControl hgc = (HtmlGenericControl)Page.FindControl(div);
Response.Write(hgc.InnerText);


谢谢啦,已经解决! 
注:刚开始(HtmlGenericControl)Page.FindControl(div)未能成功获取到对象,原来是我因为我使用了MasterPage,最后使用HtmlGenericControl hgc = (HtmlGenericControl)Page.Master.FindControl("ContentPlaceHolder1").FindControl(div);
成功解决! 如何在asp.net后台代码中获取前台div,其中要获取div的id是在后台通过变量拼接而成的,前台div已经添加runat="server"

#1


拼接而成的,貌似要转换为相应的控件类型才行,不然你拼接好的只是个字符串string类型,肯定没法调用了啊

#2


引用 1 楼 yangmingxing980 的回复:
拼接而成的,貌似要转换为相应的控件类型才行,不然你拼接好的只是个字符串string类型,肯定没法调用了啊


是的,关键现在不知道要怎么转化,执行会提示错误:
“string”不包含“Style”的定义,并且找不到可接受类型为“string”的第一个参数的扩展方法“Style”(是否缺少 using 指令或程序集引用?)

#3


自己顶一下,还望高手多多指导!

#4


string HouZhui = "01";
string div = "XS_" + HouZhui;
HtmlGenericControl hgc = (HtmlGenericControl)Page.FindControl(div);
Response.Write(hgc.InnerText);

#5


引用 4 楼 HJ850126 的回复:
string HouZhui = "01";
string div = "XS_" + HouZhui;
HtmlGenericControl hgc = (HtmlGenericControl)Page.FindControl(div);
Response.Write(hgc.InnerText);


谢谢啦,已经解决! 
注:刚开始(HtmlGenericControl)Page.FindControl(div)未能成功获取到对象,原来是我因为我使用了MasterPage,最后使用HtmlGenericControl hgc = (HtmlGenericControl)Page.Master.FindControl("ContentPlaceHolder1").FindControl(div);
成功解决! 如何在asp.net后台代码中获取前台div,其中要获取div的id是在后台通过变量拼接而成的,前台div已经添加runat="server"