使用jqueryajax打开带有布局的视图页面

使用jqueryajax打开带有布局的视图页面,ajax,asp.net-mvc-3,jquery,Ajax,Asp.net Mvc 3,Jquery,如何使用jQueryAjax打开具有布局的新页面?我需要在控制器中将strName返回到我的视图 我的jquery ajax: 编辑: *我的视图控制器:* 你用错误的方式做这件事; 如果要使用模型打开“编辑”页面,请尝试“下一步” 首先,您需要在网格中构建url链接,以使用Model.Id打开此编辑页面。 在jqGrid中,您需要使用列格式化程序。之后,您可以单击链接并打开编辑页面,如“site.com/controller/edit/6666” colModel: [ { name: 'Co

如何使用jQueryAjax打开具有布局的新页面?我需要在控制器中将strName返回到我的视图

我的jquery ajax:

编辑: *我的视图控制器:*


你用错误的方式做这件事; 如果要使用模型打开“编辑”页面,请尝试“下一步”

首先,您需要在网格中构建url链接,以使用Model.Id打开此编辑页面。 在jqGrid中,您需要使用列格式化程序。之后,您可以单击链接并打开编辑页面,如“site.com/controller/edit/6666”

colModel: [
{ name: 'ColumnName',
    formatter: function (cellvalue, options, rowObject) {
        return '<a href="/YourController/Edit/' + cellvalue + '">' + "Edit" + '</a>';
    } 
},
],


这应该可以工作。

location.href='url'可能是?window.location=Edit/+$'customerGrid'.jqGrid'getCell',id,'Client00130012'。我在ajax的success参数中使用了这个参数。但我认为它没有传递我的strName的值。如果我使用location.href,我应该如何将strName参数传递给我的视图?你能告诉我你想做什么吗?正如我看到的,您试图通过记录id使用jqGrid在记录编辑页面上重定向,对吗?实际上,我需要将一个模型传递到我的编辑页面。我这样做对吗?你对href的看法是正确的,谢谢你。但它并没有填充我的strName变量。正如您在我的视图控制器中所看到的。我使用strName从我的EF模型中选择数据。如果您的链接是用id构建的,请尝试public ActionResult Editstring id而不是strName。您在global.asax中的路线可能映射到id。感谢@maxs87解决了我的问题。还有一个问题,如果我的视图控制器中有多个参数该怎么办。假设ActionResult编辑字符串id、字符串名称、字符串地址。我的返回应该是什么样子的?如果您为此配置了路由,您可以使用controller/action/111/222/333,但我认为您只有默认路由。所以href必须看起来像href='/controller/action/id?name=someName&address=someAddres'
public ActionResult Edit(string strName)
    {

        var q = from c in db.CanaClie0012
                join w in db.Clientes0013 on c.Client00130012 equals w.Client0013
                where c.Client00130012 == strName
                select new ClientModel
                {
                    CanaClie0012 = new CanaClie0012()
                    {
                        Client00130012 = c.Client00130012,
                        F1Pais00200012 = c.F1Pais00200012,
                        F1Cana02530012 = c.F1Cana02530012,
                        Direcc0012 = c.Direcc0012
                    },
                    Clientes0013 = new Clientes0013()
                    {
                        Client0013 = w.Client0013,
                        Nombre0013 = w.Nombre0013,
                        F1Pais00200013 = w.F1Pais00200013
                    }
                };

        return View(q);
    }
colModel: [
{ name: 'ColumnName',
    formatter: function (cellvalue, options, rowObject) {
        return '<a href="/YourController/Edit/' + cellvalue + '">' + "Edit" + '</a>';
    } 
},