我对剃刀很陌生,所以我很清楚。无论如何,我知道你可以将例如<p>
元素作为一个变量,然后用C#进行更改,但我想知道是否可以用Javascript允许的方式编辑这些元素,如.innerHTML
。如果是,我该如何得到元素,比如document.getElementById(...)
。
在Razor中,所有元素及其属性实际上都只是字符串
例如Razor:
<p class="@className">@(text)</p>
将在内部执行类似于以下内容:
output.Write("<p class="" + HtmlEncode(className) + "">" + HtmlEncode(text) + "</p>");
您可以完全控制<p>
将具有哪些属性和内容。但最终,它都变成了纯文本,并被写入输出流,这是Razor渲染的唯一任务。
要在呈现HTML输出后对其进行操作,您唯一的选择是在浏览器的客户端使用Javascript进行操作。