javascript - 代码隐藏未检测到 JavaScript 中更改的显示

标签 javascript jquery asp.net vb.net

当修改 tbody 内的文本框时,我在表格内有一个 tbody,该 tbody 在 javascript 调用中显示/隐藏。此 tbody 最初在其初始标记中设置为 display = none,但如果它已包含值,则会在代码隐藏中显示。

标记:

<tbody  class="tbDOIndustryModifierCls" style="width: 100%;display:none;margin:0" id="tbDOIndustryModifierComments" runat="server">
     <td>
         <asp:Label CssClass="raterLabel lblDOIndustryModifierComments" ID="Label11" runat="server">&emsp;&emsp;Comments:
         </asp:Label>
     </td>
     <td colspan="2">
         <asp:textbox Width="100%" ID="txtDOIndustryModifierComments" CssClass="txtDOIndustryModifierComments" runat="server"></asp:textbox>
     </td>
</tbody>

页面加载代码隐藏:

 If Not IsNothing(comment) Then
      txtDOIndustryModifierComments.Text = comment
      tbDOIndustryModifierComments.Style.Add(DISPLAY, BLOCK)
 End If

因此,场景是“comment”字段具有值,因此此 tbody 在页面加载时的代码隐藏中设置为 display=BLOCK。然后用户弄乱了一个控件,并将同一个 tbody 设置为 display=none (通过 jquery hide())。

我还有一个“保存”按钮,它是在我的 vb.net 代码隐藏中处理的。

我遇到的问题是我可以通过 javascript 将 tbody 的显示属性更改为“none”(使用 jquery hide()),但是当我点击保存按钮时,代码隐藏仍然将 tbody 视为 display = block

代码隐藏保存方法(在 javascript 设置 display=none 后,此检查的计算结果为 false)

 If (tbDOIndustryModifierComments.Style(DISPLAY) = NONE) Then _
 'logic

如果客户端修改了属性,有什么方法可以查看 tbody (或其文本框)在代码隐藏中是隐藏还是显示?

抱歉,如果我的措辞有问题,请告诉我任何我可以澄清的事情。感谢您抽出时间。

最佳答案

回发时传回服务器的唯一信息是 <input> 等元素中保存的值。 , <textarea><select>以及 ASP.NET 在 View 状态中存储的信息(其本身存储在 <input type='hidden'> 中。(这些是显示页面时由 ASP.NET 创建(呈现)的基本 HTML 元素。)

这意味着,如果您在客户端动态更改这些基本元素之外的任何内容,它们将不会自动发送回服务器。

我建议您创建一个新的 <asp:HiddenField>它将存储您的表体的状态。然后在回发时,您可以使用该字段中的值查看是否需要显示/隐藏表格主体。

(请记住在页面初始渲染时还设置隐藏字段中的值,以便即使不更改任何内容也可以获得正确的值)

关于javascript - 代码隐藏未检测到 JavaScript 中更改的显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25917015/

相关文章:

Javascript 将函数绑定(bind)到 Ajax 加载事件

javascript - 如何在 javascript 中的字符串操作中使用单引号

javascript - 在其他 TextField Jquery Mobile 的基础上启用 TextField

asp.net - 在 web.config 中添加程序集引用

asp.net - 如何隐藏报表查看器控件上的刷新按钮 (ASP.NET)

javascript - 如果不将 div 移出其容器,它怎么能位于其他所有东西之上?

javascript - 如何使用 javascript/css 创建一个飞出到屏幕上的表单

javascript - 用 html 标签替换文本区域中的字符

jQuery 两个函数,相同的结果,相同的元素

c# - ASP.NET C# Entity Framework - 如何正确更新外键?