.net中如何在服务器端获取客户端的html标签控件。

来源:互联网 发布:淘宝售后服务管理流程 编辑:程序博客网 时间:2024/05/15 23:33

原理很简单,通过html控件对应的服务端控件类。

标签

HtmlAnchor<a>HtmlButton<button>HtmlSelect<select>HtmlTextArea<textarea>HtmlInputButton<input type="button">HtmlInputCheckBox<input type="check">HtmlInputRadioButton<input type="radio">HtmlInputText<input type="text"> 和 <input type="password">HtmlInputHidden<input type="hidden">HtmlInputImage<input type="image">HtmlInputFile<input type="file">HtmlForm<form>HtmlImage<img>HtmlTable<table>HtmlTableRow<tr>HtmlTableCell<td>HtmlGenericControl任何其它没有对应控件的标记,
如 <span>、<div> 等

 注意:被我们在服务器端处理的html标签需要带上Runat=“server”属性

如下代码XX.aspx页面:

<body>    <form id="form1" runat="server">    <asp:LinqDataSource ID="LinqDataSource1" runat="server" ContextTypeName="ListView.DataClasses1DataContext"        EnableDelete="True" EnableInsert="True" EnableUpdate="True" EntityTypeName=""        TableName="tbl_stock_dtl">    </asp:LinqDataSource>    <input id="Button1" type="button" value="button" runat="server" />    <div>        <asp:Repeater ID="Repeater1" runat="server" DataSourceID="LinqDataSource1" OnItemDataBound="Repeater1_ItemDataBound">            <HeaderTemplate>                <table>            </HeaderTemplate>            <ItemTemplate>                <tr>                    <td>                        <%#Eval("part_code") %>                    </td>                    <td>                        <asp:TextBox ID="TextBox1" runat="server" Text='<%#Eval("stock_num") %>'></asp:TextBox>                    </td>                </tr>            </ItemTemplate>            <FooterTemplate>                </table></FooterTemplate>        </asp:Repeater>    </div>    </form></body>

我们要在服务器端找到<input id="Button1" type="button" value="button" runat="server" />和<asp:TextBox ID="TextBox1" runat="server" Text='<%#Eval("stock_num") %>'></asp:TextBox>


看下面对应的XX.cs文件

public partial class WebForm2 : System.Web.UI.Page    {        protected void Page_Load(object sender, EventArgs e)        {            //这个与Repeater1_ItemDataBound事件里面的            //TextBox tb = (TextBox)Page.FindControl("TextBox1");            //是不同的。             HtmlInputButton hb = (HtmlInputButton)Page.FindControl("Button1");           hb.Attributes["value"] = "你好!";        }        protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)        {            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)//判断行的类型。            {                tbl_stock_dtl drvRow = (tbl_stock_dtl)e.Item.DataItem;//把行里面的数据转换为dbml文件中类的相应对象                if (drvRow.stock_num == 00)                {                    TextBox tb = (TextBox)e.Item.FindControl("TextBox1");//repeater或ListView模板中的控件不能直接通过Page.FindControl("ID")查找,切记。                    //TextBox tb = (TextBox)Page.FindControl("TextBox1");//此时会出现空异常,因为repeater模板中的控件id被服务器“处理过”,                                                                         //我们通过页面Page类是无法找到的。                    tb.BorderColor = System.Drawing.Color.Red;                }            }        }    }


 

 

原创粉丝点击