繁体   English   中英

jQuery服务器端DOM操作

[英]jQuery server side DOM manipulation

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

例如,我在后面的一些代码中有一些HTML作为字符串。 有没有办法在其上执行JQuery?

我目前正在这样做...

假设这是字符串...

<input id='AddressSettings_txtFirstName' name='txtFirstName' 
value='#firstNameValue#' size='25' type='text'  class='val_required'/> 

我的C#做到了

 strHTML = strHTML.Replace("#firstNameValue#", customerInfo.FirstName);

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

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

strHTML = strHTML.ExecuteJQuery("$('#AddressSettings_txtFirstName').text('" 
         + customerInfo.FirstName + "')");

我在这里有什么选择?

出于所有目的和目的,答案都是“否”(虽然可能有一些晦涩的处理方式,但这不是最佳方法)。

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

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

因此,您想使用服务器上可用的功能来完成您的工作。

无论您使用的是ASP.NET的WebForms模型还是MVC模型,都有一些机制可以使您绑定到数据而不必亲自写出标记。

例如,在WebForm模型中,您具有可以将Text属性设置为on的TextBox类

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

HTML敏捷性包可能就是您想要的。 您无法执行JavaScript,但是可以执行一些DOM操作。 试试看http://htmlagilitypack.codeplex.com/

将jQuery与jsdom一起用于Node.js。 在服务器端使用javascript操作DOM元素的最简单方法。

DOM是浏览器特定的实体。 因此,您无法直接使用它。 但是,您可以确定要处理的内容,并使用.live()或调用jQuery代码在添加元素时添加行为内容。 至于变化:

<input id='AddressSettings_txtFirstName' name='txtFirstName'  
value='#firstNameValue#' size='25' type='text'  class='val_required'/>  

$('#AddressSettings_txtFirstName').change(function(){
// do stuff here
});

会在例如更改时触发。 编辑:另一个选择是让客户端使用ajax和JSON拉数据-但这是您目前工作方式的一个小转变。

好吧,这就是Java的答案。 这里这里由一个叫John Resig的家伙提供。 (不确定他是否知道他在谈论JQuery ...眨眼眨眼)

现在,.Net呢?

这项技术ItsNat与您的需求非常相似,坏消息是基于Java的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM