jQuery服务器端DOM操作

ctr*_*yan 8 asp.net jquery serverside-javascript

有谁知道是否有可能在.Net服务器端利用JQuery的强大功能?

例如,我在后面的一些代码中有一些HTML作为String.有没有办法在它上面执行JQuery?

我现在正在这样做......

假设这是String ...

<input id='AddressSettings_txtFirstName' name='txtFirstName' 
value='#firstNameValue#' size='25' type='text'  class='val_required'/> 
Run Code Online (Sandbox Code Playgroud)

我的C#做到了这一点

 strHTML = strHTML.Replace("#firstNameValue#", customerInfo.FirstName);
Run Code Online (Sandbox Code Playgroud)

这就是我将数据绑定到HTML的方式.

现在我想做的是不必将#firstNameValue#添加为占位符并替换它我想以某种方式在我的C#代码中的HTML字符串上执行一行JQuery.

strHTML = strHTML.ExecuteJQuery("$('#AddressSettings_txtFirstName').text('" 
         + customerInfo.FirstName + "')");
Run Code Online (Sandbox Code Playgroud)

我有什么选择?

cas*_*One 4

出于所有意图和目的,答案是“否”(虽然可能有一些晦涩的方法来处理这个问题,但这不是最好的方法)。

看来您正在寻找一种方法来操作在服务器端生成的 HTML ,这是一个非常合理的愿望,只是服务器端使用 .NET(或其他)技术的方法与您将如何在客户端处理它。

由于内容已在客户端上呈现,因此修改内容的方式有所不同。在服务器上,页面由各个部分组成,这些部分最终使用客户端不一定有权访问的数据(以及资源​​和库)将 HTML 呈现给客户端。

出于这个原因,您希望使用服务器上可用的内容来完成您正在做的事情。

无论您使用的是 ASP.NET 的 WebForms 模型还是 MVC 模型,都有一些机制允许您绑定数据,而无需自己编写标签。

例如,在 WebForm 模型中,您有TextBox 类,可以在其上设置Text 属性

在 ASP.NET MVC 中, InputExtensions 类上有TextBox 扩展方法,它允许您传递文本框的内容,并且该方法将为您呈现标签。