【问题标题】:How to reference a form element in a razor view?如何在剃刀视图中引用表单元素?
【发布时间】:2015-10-21 08:39:38
【问题描述】:

我有一个文本框,然后在剃刀视图下有一个网格。网格通过 RenderAction 方法呈现的局部视图填充。我想将网格的行计数值放在文本框中。因为视图的元素是从上到下呈现的,所以我需要在网格绑定到数据源后修改文本框的文本属性。我正在使用第三方网格扩展,它要求将其放置在自己的局部视图文件中。我知道我可以在客户端修改文本属性,但我想在服务器上进行。

如何从位于同一视图文件中其他位置的 c# 代码引用由 html 助手创建的表单元素? (这个问题实际上可能很简单,但我现在画的是空白)

【问题讨论】:

  • 您的计数文本框是否处于局部视图中?如果是,那你为什么不计入服务器端渲染操作方法,将其放在 viewbag 中,然后显示在文本框中
  • 我不明白你的建议。文本框在视图中呈现,然后网格被呈现并绑定到数据源,然后我想返回文本框并为其添加计数。这就是顺序。这一切都发生在局部视图中。

标签: asp.net-mvc razor


【解决方案1】:

这完全违背了使用 MVC 模式的目标,您在不同视图中混合逻辑,这就是为什么您将难以跟上此类挑战的原因。

我的建议是在单个 Viewmodel 中定义所有数据部分,然后填充数据将是消耗而不是循环视图的问题。

我知道这听起来可能不是您的答案,但 stack-overflow 社区的目标之一是为我们指明正确的方向并在我们走错时警告我们。

【讨论】:

  • 我知道这一切。我的约束是第三方控件,在渲染之前我不能拥有模型中的所有数据。我正在寻找服务器端“hack”或在视图呈现后更新javascript中的计数。我走的是JS路线。
猜你喜欢
  • 2011-11-01
  • 1970-01-01
  • 2016-01-30
  • 2011-06-28
  • 2018-08-30
  • 1970-01-01
  • 2015-10-19
  • 2020-08-05
  • 1970-01-01
相关资源
最近更新 更多