从jQuery for ASP.NET设置禁用输入的值

试图找出如何在JavaScript中设置输入值确保它在ASP.NET中发布到服务器。 它也必须是禁用字段。

我试过这个:

 

然后在jQuery中:

 $("*[id$='DriverIdTextBox']").val("JAVA"); 

发布时这不会在后端给我“JAVA”。 当我启用文本框时 – 我在服务器上得到这个值就好了。 我尝试在客户端启用控制和禁用,如下所示:

 $("*[id$='DriverIdTextBox']").val("JAVA").prop("disabled", true); 

同样的问题 – 值未发布到服务器。

基本上我想设置只读标签/输入,以便用户可以读取它,但同时我想在用户提交表单时将其发布到服务器。 我怎样才能做到这一点?

如果您禁用了文本框,它将不会回发到服务器。

将标签设置为文本框的值,并将隐藏字段设置为该值。

    this.lblhdnDriverId.Text = ""; this.hdnDriverId.Value = ""; $("*[id$='lblhdnDriverId']").val("JAVA"); $("*[id$='hdnDriverId']").val("JAVA"); 

您还可以将元素设置为只读而不是禁用,以获取发布到服务器的值。

你可以得到它的价值

  this.Request.Form[DriverIdTextBox.ClientId] 

禁用的元素不会随表单一起提交,您必须在回发之前删除“禁用”atrribute