c# - TextBox 值未分配给 asp.net 中的变量

标签 c# javascript asp.net

Java 脚本

function outputtax() 
 { 
 var tamount = parseFloat(document.getElementById('<%=txtpsubtotal.ClientID%>').value);
 var cash = parseFloat(document.getElementById('<%=txtpdiscount.ClientID%>').value);

 if (isNaN(tamount) != true && isNaN(cash) != true && isNaN(tax) != true)
  {
    document.getElementById('<%=txtPtotalamout.ClientID%>').value =
       Math.round(parseFloat(document.getElementById('<%=txtpsubtotal.ClientID%>').value)
  - parseFloat(document.getElementById('<%=txtpdiscount.ClientID%>').value))              
      return false;
    }

  }

<asp:TextBox ID="txtPtotalamout" runat="server" ReadOnly="true">
                                          </asp:TextBox>

.CS

objsupplyPL.totalamount = Convert.ToDouble(txtPtotalamout.Text.ToString());

值显示在文本框上,但是当我单击保存按钮时,txtptotalamount 正在获取 null 值。如果我放置 readonly="false" 它工作正常。

最佳答案

来自 http://codecorner.galanter.net/2009/10/09/postback-disabled-textbox/

假设在您的 ASP.NET 应用程序中,您将 TextBox 控件的属性 ReadOnly 设置为 True(或将 Enabled 设置为 False)以防止用户直接输入数据。但是您仍然希望通过客户端 JavaScript 更新该文本框的值。正在发生的情况,可以更新该值。但是在回发到服务器期间——惊喜,惊喜! – 新值不会持续存在。这是出于安全预防措施——如果该值不打算更改——则不允许更改。但有一种解决方法。

诀窍是 - 保持 ReadOnly = FalseEnabled = True 并模拟它们的行为。将以下行添加到您的服务器端代码:

TextBox1.Attributes["onclick"] = "this.blur();"

其中 TextBox1 是您的文本框控件。此行所做的是将客户端行为添加到文本框。一旦用户尝试单击文本框,焦点就会立即丢失,从而阻止用户输入数据,从而使文本框基本上处于只读状态。为了进一步的效果,您可以将文本框的背景设置为“LightGray”之类的东西,使其显示为禁用。

关于c# - TextBox 值未分配给 asp.net 中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18789861/

相关文章:

c# - 在 Python 中使用 C# DLL

c# - Net core EF 3.1 LINQ 字符串比较不再有效

c# - 带有 OAuth2 的 Youtube API v3 返回 "Received verification code. Closing..."

javascript - jqplot : how to display value from an array in a highlighter

c# - 如何在jquery中独立于浏览器捕获精确的td值

jquery - 正确响应从 ASP.NET 页面发送的 jquery.ajax json 数据

asp.net - 从另一个页面调用一个页面上的按钮单击事件 ASP.NET

c# - DbgHelp.dll : calling SymGetModuleInfo64 from C#

javascript - 如何在不覆盖现有 _ var 的情况下使用 TypeScript 和 Webpack 导入 Lodash

javascript - 以最快的方式从字符串中检索子字符串。从头到尾的格式是固定的,长度也是不固定的