在我的网页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)
哦,还有另外一件事,你可以制作所需的参数,而不是可选的....如果是这样,怎么样?
我正在尝试使用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) 我想在我构建的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)