概述
假设这是MVC,请看看我的CsQuery项目。 CsQuery是一个jQuery端口和CSS选择器引擎,您可以使用它直接处理HTML。但更重要的是,该项目包含一个代码,用于在MVC下的C#中呈现之前访问页面的HTML。
访问部分视图非常容易,请参阅Rick Strahl的blog post。
但是,如果您想要访问整个页面的HTML并可能在呈现之前对其进行更改,则需要创建自定义ViewEngine,并对控制器进行回调,以便您可以访问HTML。做这件事很有意义。而不是复制几百行代码的,看看附带CsQuery MVC应用的例子中,特别是在CsQueryView文件夹中的类:
这包括自定义视图引擎和一个自定义Controller基类这可以让你添加方法的控制器是这样的:
// runs for all actions
public void Cq_Start()
{
Doc["a.not-allowed"]
.Attr("onclick","javascript:alert('You're not authorized to click this')");
}
// runs for the Index action
public void Cq_Index()
Doc["div"].Css("border", "1px solid red;");
}
这些方法称为后对应的常规操作方法,并设置Doc值。 Doc是一个CQ对象(CsQuery中的核心对象)。这包含一个页面的所有HTML。它就像一个jQuery对象。在你的情况,你可以只使用jQuery的方法,如:
// select all divs on the page
var div = Doc["div"];
// do parameter substitution
var newText = div.Text().Replace("@name", valid_name);
// update the text
div.Text(newText);
要切换MVC应用程序使用,你需要将此代码添加到Application_Start这个视图引擎:
ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new CsQueryViewEngine());
如果不想使用CsQuery,但该示例应该向您展示如何在呈现之前访问MVC中的HTML输出。它使用反射来找出在你的控制器中回调的方法,并且它可以很容易地用来提供一串HTML而不是一个CsQuery对象。
最后
以上就是清新鲜花为你收集整理的c mvc能不能用HTML,使用c的HTML解析#的全部内容,希望文章能够帮你解决c mvc能不能用HTML,使用c的HTML解析#所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复