2012-03-29 65 views
0

我想从XML呈现一些应用程序的静态页面,即我打算有一个基本页面和xml包含页面和xslt的结构,它将将此xml转换为html,并在运行时我将把这个html渲染到我的视图并显示这个视图 有没有任何方法/例子来做同样的事情。请帮助 下面是示例XML从xml渲染mvc3中的页面

 <!DOCTYPE html> 
    <html> 
    <head> 
    <title>Create</title> 
    <script src="/Scripts/jquery-1.5.1.min.js" type="text/javascript" /> 
     <link href="/Content/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" /> 
     <link href="/Content/Site.css" rel="stylesheet" type="text/css" /> 
     <script src="/Scripts/jquery-ui.js" type="text/javascript" /> 
     <script src="/Scripts/jquery.validate.min.js" type="text/javascript" /> 
     <script src="/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript" /> 
<script src="/Scripts/jquery.unobtrusive-ajax.js" type="text/javascript" /> 

    </head> 
    <body> 
<div id="menucontainer"> 
    <ul id="menu"> 
    <li> 
     <a href="/">Rutu</a> 
    </li> 
    <li> 
     <a href="/Employee">Employee</a> 
    </li> 
    </ul> 
</div> 
<h2>Create</h2> 
<script src="/Scripts/jquery.validate.min.js" type="text/javascript" /> 
<script src="/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript" /> 
<form action="/Employee/Create" method="post"> 
    <fieldset> 
    <legend>EmployeeDetailsModel</legend> 
    <div class="editor-label"> 
     <label for="EmpName">EmpName</label> 
    </div> 
    <div class="editor-field"> 
     <input class="text-box single-line" id="EmpName" name="EmpName" type="text" value="" /> 
     <span class="field-validation-valid" data-valmsg-for="EmpName" data-valmsg-replace="true" /> 
    </div> 
    <div class="editor-label"> 
     <label for="DeptId">DeptId</label> 
    </div> 
    <div class="editor-field"> 
     <input class="text-box single-line" data-val="true" data-val-number="The field DeptId must be a number." data-val-required="The DeptId field is required." id="DeptId" name="DeptId" type="text" value="" /> 
     <span class="field-validation-valid" data-valmsg-for="DeptId" data-valmsg- replace="true" /> 
    </div> 
    <p> 
     <input type="submit" value="Create" /> 
    </p> 
    </fieldset> 
</form> 
<div> 
    <a href="/Employee">Back to List</a> 
</div> 

+0

你是什么意思的XML包含页面的结构?你能举一个例子说明这样的XML可能是什么样的?预期的产出? – 2012-03-29 11:42:48

+0

嗨Darin附上示例xml文件 – Rutu 2012-03-29 12:12:40

+0

我只看到html,没有xml ... – jrummell 2012-03-29 12:29:59

回答

0

有一个good blog post here,它描述了如何创建HTML助手来在视图中呈现XSLT。您只需调用视图中的助手类传递到XSLT和XML的路径即可。我修改了这个帮助器,以便您还可以将XSLT和XML作为字符串传递以实现相同的结果。

+0

感谢您的这个链接你能否提供我在该示例中使用的xslt以及如何进行验证? – Rutu 2012-03-30 10:47:46

+0

@Rutu - 你指的是哪个例子?我在这方面所做的工作是为了验证概念是否可行,因为我们正在从基于ASP.NET Forms的应用程序中广泛使用XSLT到MVC和Razor。我们没有采用这种方法,因为我们确定Razor在MVC环境中比XSLT更好。看到我对这个问题的回答http://stackoverflow.com/questions/9826676/reasons-for-using-xsl-when-razor-templates-exist。 – 2012-03-30 12:04:44

+0

我指的是http://tutorialgenius.blogspot.in/2011/06/c-mvc-3-render-xslt-htmlhelper.html链接我想使用这种机制的单个页面呈现相同的模型,但不同的视图没有。以xml提供的字段 – Rutu 2012-03-30 12:39:10