您的位置:首页 > Web前端 > HTML

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

2013-06-01 18:38 477 查看
原理很简单,通过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;
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: