我是靠谱客的博主 清新鲜花,最近开发中收集的这篇文章主要介绍c mvc能不能用HTML,使用c的HTML解析#,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

假设这是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解析#所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部