Asp.net элементы управления недоступны в коде позади в asp .net web forms
Asp.net элементы управления недоступны в коде позади
<asp:TextBox id="txtname" class="form-control" runat="server"></asp:TextBox>
<asp:TextBox id="txtname" class="form-control" runat="server"></asp:TextBox>
проверьте этот пример и посмотрите, не пропало ли у вас что-то:index.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="ProjectName.index" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <%--<input runat="server" type="text" id="txtName" />--%> <asp:TextBox runat="server" ID="txtusername" /> <button type="submit">submit</button> </div> </form> </body> </html>
index.aspx.cs
:using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace ProjectName { public partial class index : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { //RegisterError(txtName.Value.Trim()); RegisterError(txtusername.Text.Trim()); } private void RegisterError(string MsgError) { if (MsgError.Length > 0) { Page.ClientScript.RegisterStartupScript(this.GetType(), "ShowErrorMessage", "alert('" + MsgError.Replace("'", "").Replace("\r\n", "") + "');", true); } } } }
Те .Replace
звонки должны быть заменены на HttpUtility.JavaScriptStringEncode
если вы хотите избежать XSS.Page.ClientScript.RegisterStartupScript(this.GetType(), "ShowErrorMessage", "alert(" + HttpUtility.JavaScriptStringEncode(MsgError, true) + ");", true);