asp.net-mvc - Html.TextArea 值/文本在页面加载后未更新

标签 asp.net-mvc textarea

我正在 MVC 5 中工作,并且我有一个 HTML.TextArea,它在页面加载时具有初始值。它加载正确,但如果您在文本区域中键入任何内容或更改任何内容,则该值不会在 DOM 中更新。我可以查看页面源代码,它没有改变。我还尝试了 HTML.TextAreaFor 来尝试绑定(bind)方法,但也未能更新对初始值的任何更改。我在谷歌上找不到任何关于这个问题的信息,所以希望有人能够阐明这种奇怪的行为。我像躲避瘟疫一样避开 TextArea,因此对它们的了解有限。

@HTML.TextArea("MyTextArea","My Test Text")

加载“我的测试文本”,然后如果您键入“但它不起作用!” DOM/Postback 值不会随着添加的文本而更新,返回 ("My Test Text")

最佳答案

对于以下元素...

<input type="text" value="My Text" />
<textarea>My Text</textarea>`

...HTML 将反射(reflect)最初呈现的内容,即使用户使用浏览器的 UI 对其进行了更新。

如果表单为POST,则将反射(reflect)这些元素的更新值或者如果您尝试使用 jQuery 获取文本区域/文本框的值,例如:

var currentTextareaValue = $('#yourtextareaid').val()

值得注意的是,DOMHTML 输出之间存在差异。以下是 Google 对 DOM 的定义:

The Document Object Model (DOM) is a cross-platform and language-independent convention for representing and interacting with objects in HTML, XHTML, and XML documents. The nodes of every document are organized in a tree structure, called the DOM tree.

DOM 会更新,但 HTML 输出不会更新,除非您专门对此进行更改,例如更新文本框的 value 属性或 <textarea> 之间的值。标签:

// Update the textbox value
$('#yourtextboxid').attr("value", "new value");

// Update the text area value
$('#yourtextareaid').html("new value")

关于asp.net-mvc - Html.TextArea 值/文本在页面加载后未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32504915/

相关文章:

java - GWT 文本区域样式

php - 自动保存 textarea 内容 javascript 和 php

asp.net-mvc - 如何在 SAAS 解决方案 (Windows Azure) 中配置自定义域?

html - 适合文本区域

c# - Task.Run 与 null SynchronizationContext

jquery - 验证用户对操作过滤器或授权过滤器的权限?

css - 更改文本区域中的文本区域光标颜色

textarea的javascript内部文本不会重置重新加载页面

c# - 返回有错误的响应而不是在验证管道 mediatr 3 中抛出异常

javascript - 在 asp.net mvc 4 中使用动态关键字时出错