小编use*_*925的帖子

RedirectToAction和RedirectToRoute

在我的网页1控制器中,我想重定向到网页2,传递2个变量.

我尝试使用RedirectToRoute,但无法让它工作; 显示错误的URL.然后我切换到使用RedirectToAction.

我的代码:

路由

routes.MapRoute(
    "CreateAdditionalPreviousNames", // Route name
    "Users/{controller}/{action}/{userId}/{applicantId}", // URL with parameters
    new { controller = "UsersAdditionalPreviousNames", action = "Index", userId = UrlParameter.Optional, applicantId = UrlParameter.Optional } // Parameter defaults
);
Run Code Online (Sandbox Code Playgroud)

RedirectToAction(有效)

return RedirectToAction("Index", "UsersAdditionalPreviousNames", new { userId = user.Id, applicantId = applicant.Id });
Run Code Online (Sandbox Code Playgroud)

RedirectToRoute(不起作用)

return RedirectToRoute("CreateAdditionalPreviousNames", new { userId = user.Id, applicantId = applicant.Id });
Run Code Online (Sandbox Code Playgroud)

哦,还有另外一件事,你可以制作所需的参数,而不是可选的....如果是这样,怎么样?

.net c# asp.net-mvc asp.net-mvc-routing

21
推荐指数
1
解决办法
5万
查看次数

MVC3使用JQuery Ajax将ViewModel传递给控制器​​方法

我正在尝试使用JQuery Ajax将表单的数据传递给我的控制器方法,但是当我在Controller端使用调试器时,我不确定你是如何做到的,因为我的ViewModel为null.

我的ViewModel是:

public class PremisesViewModel
{

    public string createPremisesErrorMessage { get; set; }
    public string updatePremisesErrorMessage { get; set; }

    public SelectList listOfCounties = Initialise.countiesSelectList;

    public Premise premises { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

其中premises是我数据库中的实体/表.

表单包含Premises表中的字段.

在我的javascript函数中,我这样做:

   var premisesViewModel = {
                                Id: 0,
                                PremisesDescription: $('#premises_PremisesDescription').val(),
                                OrdnanceSurveyReference: $('#premises_OrdnanceSurveyReference').val(),
                                PartRestrictedNotes: $('#premises_PartRestrictedNotes').val(),
                                NatureOfPremises: $('#premises_NatureOfPremises').val(),
                                AddressLine1: $('#premises_AddressLine1').val(),
                                AddressLine2: $('#premises_AddressLine2').val(),
                                Town: $('#premises_Town').val(),
                                CountyId: $('#premises_CountyId').val(),
                                Postcode: $('#premises_Postcode').val()
                            }
    alert(form.serialize);
    $.ajax({
        url: form.attr('action'),
        type: 'POST',
        dataType: "json",
        contentType: 'application/json',
        data: JSON.stringify(premisesViewModel),
        success: function (data) {
            alert('done');
        } …
Run Code Online (Sandbox Code Playgroud)

ajax jquery asp.net-mvc-3

6
推荐指数
2
解决办法
2万
查看次数

mvccontrib grid - 如何添加<tr> id

我想在我构建的mvccontrib网格的"tr"元素中添加一个id:

<tr id="0"/>
<tr id="1"/>
Run Code Online (Sandbox Code Playgroud)

因此,如果表包含10行,则id为0到9.

一种方法是向我的实体添加一个额外的项来存储这个值,然后将其创建为一个隐藏列,其id为该项的值 - 不是很优雅.

有没有更优雅的方式来做到这一点?谢谢

我已经做到这一点,但现在它在RenderUsing系列中抱怨,有什么想法吗?

@model  IEnumerable<Tens.Models.UserPreviousNamesView>

<div class="demo_jui">
@{   
var userId = 0;

foreach (var item in Model)
{
    userId = item.Id;
    break;
}


@(Html.Grid(Model.Select((item,index) => new { Item = item, Index = index}))
.Columns(col =>
{   
    col.For(p => p.Item.Title);
    col.For(p => p.Item.Name);        
    col.Custom(@<text>
                    @Ajax.ActionLink("Delete", "DeleteUserPreviousName", "Summary", null, null, new { id = item.Item.Id, @class = "deleteUserPreviousName" })                                                   
                </text>).Encode(false);
})
.RowAttributes(p => new Hash(Id => "id"+p.Item.Index.ToString()))
.Attributes(Id => "userPreviousNamesTable")
.Empty("You currently have no …
Run Code Online (Sandbox Code Playgroud)

grid mvccontrib-grid asp.net-mvc-3

2
推荐指数
1
解决办法
2969
查看次数