当通过jQuery设置值时,访问c#中Page load上的Label值

我再次发布这个问题,也许这次更准确的描述。

问题是,我使用jQuery设置Label的文本值,它在浏览器上工作正常,但是当我想将它保存到字符串时,它不会保存它。 这是前端Html代码。

       $(window).load(function () { var myNewName = "Ronaldo"; $('#').text(myNewName); });    

这是后端C#代码页面加载

 using System; using System.Web.UI; public partial class _Default : Page { protected void Page_Load(object sender, EventArgs e) { string mynameCheck = Label1.Text; if (mynameCheck=="Ronaldo") { Response.Write("Yes Name is Fine"); } else { Response.Write("Name's not Fine"); } } } 

显示的结果是

 Name's not Fine Ronaldo 

好像字符串仍然是Null。 渲染有什么问题吗?

label不是输入类型,因此您无法通过服务器端的jquery获取更改的值。 您可以使用隐藏字段来实现此目的。

在客户端代码(HTML / Javascript)发布之前,您的服务器端代码(c#)无法访问表单数据。

为什么要在PageLoad事件中使用该名称?

您可以添加带有附加的onClick事件处理程序的asp:Button来读取asp:Label的值。

标签不维护viewstate。 服务器不会将该信息发回服务器。 您可以尝试在Label上显式启用ViewState,但如果不起作用,则必须将该值存储在隐藏字段中。

首先调用Page Load event ,然后调用JQuery Window.Load event

因此,如果要在Label中设置任何内容,则可以使用onClientClick按钮。

对于前者

   

在服务器端按钮事件,您可以获取在客户端设置的Label值。

 protected void btn_Click(object sender, EventArgs e) { string mynameCheck = Label1.Text; if (mynameCheck=="Ronaldo") { Response.Write("Yes Name is Fine"); } else { Response.Write("Name's not Fine"); } } 

它会打印Yes Name is Fine

这应该这样做:

  
protected void Page_Load(object sender, EventArgs e) { if(IsPostBack) { Label1.Text=Txt1.Text; string mynameCheck = Label1.Text; if (mynameCheck=="Ronaldo") { Response.Write("Yes Name is Fine"); } else { Response.Write("Name's not Fine"); } } } protected void Btn1_Click(object sender, EventArgs e) { }

希望能帮助到你 :)