在jQuery中使用MVC代码

时间:2010-01-08 17:30:00

标签: jquery asp.net-mvc

嘿那里 - 我正试图像往常一样使用asp.net mvc做一些事情,但我有点庸俗。

在我的应用程序的某一点上,我需要加载一个视图并通过它传递一个特定的模型 - 这不是一个大问题,除了它与现有模型有关。现在,RenderPartial不起作用,因为它只传递模型并且实际上没有击中控制器 - 我需要回到控制器以通过ActionResult传递模型,以便可以返回其内容。

所以我想我会使用jQuery。 #(''')。load('/ controller / action')过去有效,为什么不呢?但我需要通过它传递一个参数。我试过简单地添加......

load('/ controller / action /'+<%= Model.Parameter%>)并没有 - 所以有谁知道如何做到这一点? (或者更好的方法呢?)

3 个答案:

答案 0 :(得分:2)

您可以使用MVC Futures / ASP.NET MVC 2方法RenderAction,让您返回控制器。您还可以将部分视图所需的模型作为父视图模型(当前方法)的属性传递。或者将新模型存储在ViewData中,但这不是非常强类型,不推荐使用。

答案 1 :(得分:1)

$ .load('<%= Url.Action(“actionname”,“ctlrname”,new {param = Model.Parameter})%>');将工作。或者,MVC期货有一个RenderAction方法,允许您以内联方式呈现动作。

答案 2 :(得分:0)

你可以更具体一点吗?什么不起作用?

如果你使用了你在问题中提出的确切语句,那么它有一个问题,因为你没有将asp标签括在单引号中,所以jquery会将渲染的值解释为变量,而不是文字字符串。

...load('/controller/action/' + '<%= Model.Parameter %>')