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

    CSDN广告是越来越多了,所有博客笔记不再更新,新网址 DotNet笔记

原理很简单,通过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;
                }
            }
        }
    }


 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值