【问题标题】:get element by Id Using Razor syntax使用 Razor 语法按 Id 获取元素
【发布时间】:2013-08-19 09:31:29
【问题描述】:

是否可以通过 Razor 代码块中的 Id 获取 HTML 元素?例如,在视图中存在此元素的某些位置。

<Input id='NameField' type='text'>

在视图的更下方有一个剃刀代码块

@{
.... do some stuff
.... etc.
.... etc.
.... etc.

var nameTxtElement = GetElementById("NameField');

}

我知道如何使用 Jquery 来做到这一点,但我只是想知道是否可以使用 Razor 来做到这一点?

主要原因是将带有代码的网络表单转换为 MVC,而没有在我的 MVC 应用程序中实现完全成熟的 asp.net 支持。

【问题讨论】:

  • Razor 只生成文本。那没有任何意义。
  • razor 不只是生成文本,您可以在 razor 块内创建变量、函数等,您甚至可以动态构建 jquery(生成文本,是的)但是 Razor 引擎可以做的更多,或者我希望它可以...
  • 所有这些都可以帮助您生成文本。我的观点是 Razor 没有任何类似于 DOM 的东西。

标签: html asp.net-mvc razor


【解决方案1】:

拥有var nameTxtElement 后,您打算做什么?您可能可以使用 Razor 完成该场景,但与使用 WebForms 相比,您可能需要考虑一些不同的想法。例如,你可以做这样的事情......

@{ 
 //...
 var cssClass = "something"; 
 // ...
}

<input id='namefield' type='text' class='@cssClass' />

...如果您想动态插入 CSS 类。

【讨论】:

  • 基本上对输入进行操作,使其只读或设置其值,或动态添加验证。关键是不必重写逻辑背后的一堆现有代码,但我认为您的示例可能是完成任务的唯一方法,这再次意味着重新编写一堆经过测试的代码和作品,我宁愿不这样做。感谢您的回复本 H。
猜你喜欢
  • 2021-12-21
  • 2010-12-11
  • 1970-01-01
  • 2011-03-25
  • 2020-10-12
  • 2021-07-11
  • 2018-03-14
  • 1970-01-01
  • 2017-06-14
相关资源
最近更新 更多