使用 renderpartial 将参数传递到 .aspx 页面
在我的 index.aspx 页面中,我想使用 renderpartial 渲染另一个 module.aspx 页面 然后渲染一个 .htm 文件 取决于从index.aspx传递哪个参数(它将是数字,即1,2等,以便每次根据参数调用不同的不同.htm文件)
1)。 现在我希望 Index.aspx 页面呈现 module.aspx 并向其传递参数(1,2,3 等) [参数将以编程方式传递(硬编码)] 和 2)。 mudule.aspx 应该捕获参数,并根据它调用
我的 index.aspx 具有的
<% ViewData["TemplateId"] = 1; %>
<% Html.RenderPartial("/Views/Templates/MyModule.aspx", ViewData["TemplateId"]); %>
.htm 文件,并且 module.aspx 包含
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>
<script type="text/javascript" src="/Scripts/jquery-1.3.2.js"></script>
<script type="text/javascript" src="/Scripts/Service.js"></script>
<script type="text/javascript">
debugger;
var tid = '<%=ViewData["TemplateId"] %>';
$.get("/Templates/Select/" + tid, function(result) {
$("#datashow").html(result);
});
</script>
<div id="datashow"></div>
这是我的控制器,由 $.get(....) 调用(参见代码)
public ActionResult Select(int id)
{
return File("/Views/Templates/HTML_Temp" +id.ToString()+".htm" , "text/html");
}
,最后 我的 .htm 文件
<div id="divdata" class="sys-template">
<p>Event Title:<input id="title" size="150" type="text"
style="background-color:yellow;font-size:25px;width: 637px;"
readonly="readonly" value="{{title}}" />
</p>
<p>Event Description:<input type="text" id="description" value="{{ description }}"
readonly="readonly" style="width: 312px" /></p>
<p>Event Date: <input type="text" id="date" value="{{ date }}" readonly="readonly"
style="width: 251px"/></p>
<p>Keywords : <input type="text" id="keywords" value="{{keywords}}" readonly="readonly" /></p>
</div>
<script type="text/javascript">
Sys.Application.add_init(appInit);
function appInit() {
start();
}
</script>
start() 是 javascript 方法,该方法位于文件 Service.js 中,
当我运行此程序时,它给我错误 Node.js 运行时错误:“预期对象” 和突出显示的调试器
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/**xhtml**1-strict.dtd">
请帮助我解决问题
in my index.aspx page i want to render another module.aspx page using renderpartial
which then render a .htm file
depanding on which parameter is passed from index.aspx (it would be number ie 1,2 etc ,so as to call different different .htm file everytime depending on the parameter)
1).
now i want Index.aspx page to render module.aspx and pass it a parameter(1,2,3,etc)
[the parameters would be passed programatically (hardcoded)]
and
2).
mudule.aspx should catch the parameter and depending on it will call .htm file
my index.aspx has
<% ViewData["TemplateId"] = 1; %>
<% Html.RenderPartial("/Views/Templates/MyModule.aspx", ViewData["TemplateId"]); %>
and module.aspx contains
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>
<script type="text/javascript" src="/Scripts/jquery-1.3.2.js"></script>
<script type="text/javascript" src="/Scripts/Service.js"></script>
<script type="text/javascript">
debugger;
var tid = '<%=ViewData["TemplateId"] %>';
$.get("/Templates/Select/" + tid, function(result) {
$("#datashow").html(result);
});
</script>
<div id="datashow"></div>
this is my controller which is called by $.get(....) (see code)
public ActionResult Select(int id)
{
return File("/Views/Templates/HTML_Temp" +id.ToString()+".htm" , "text/html");
}
and finally
my .htm file
<div id="divdata" class="sys-template">
<p>Event Title:<input id="title" size="150" type="text"
style="background-color:yellow;font-size:25px;width: 637px;"
readonly="readonly" value="{{title}}" />
</p>
<p>Event Description:<input type="text" id="description" value="{{ description }}"
readonly="readonly" style="width: 312px" /></p>
<p>Event Date: <input type="text" id="date" value="{{ date }}" readonly="readonly"
style="width: 251px"/></p>
<p>Keywords : <input type="text" id="keywords" value="{{keywords}}" readonly="readonly" /></p>
</div>
<script type="text/javascript">
Sys.Application.add_init(appInit);
function appInit() {
start();
}
</script>
start() is javascript method which is in file Service.js
when i run this programm it gives me error
js runtime error: 'object expected'
and debugger highlighted on
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/**xhtml**1-strict.dtd">
pls help me solve the problem
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
像这样使用
<% Html.RenderPartial("/Views/Templates/MyModule.ascx", Model); %
>用于使用 Model 将值传递到部分视图 MyModule.ascx。您还可以使用 Html.RenderAction 方法Use like this
<% Html.RenderPartial("/Views/Templates/MyModule.ascx", Model); %
> for passing the values using Model to a partial view MyModule.ascx. You can also use the method Html.RenderAction当您使用 RenderPartial 时,默认情况下会传递您的模型索引.aspx。然后,您的部分视图可以是相同类型的。然后,您可以使用 Model.MyParameter 找出应渲染哪个 htm 文件。否则,您可以将其传递到 RenderPartial 的对象参数中,并在局部视图内查询该对象。
When you use RenderPartial, you are by default passing the Model of your Index.aspx. Your partial view can then be of the same type. You can then use Model.MyParameter to find out which htm file you should be rendering. Otherwise you can pass it in the object parameter of the RenderPartial, and query that object inside of your partial view.