问题一:三元表达式,id可不传递参数,即int可赋值null
问题二:return view(参数“new JsonResult() { Data = new { result = 1, msg = "添加车辆失败!" } }”),视图页使用参考下面的
public ActionResult Index(int? page)
{
if (ViewData["k"] != null)
{
System.IO.File.WriteAllText("D:\\tid7.txt", ViewData["k"].ToString());
}
var newsClasses = from c in news.NewsClassesSet orderby c.ID select new SelectListItem { Text = c.ClassName, Value = c.ID };
ViewBag.NewsClasses = newsClasses;
var newsList = from m in news.NewsSet orderby m.BookTime descending select m;
PagerHelperpager = new PagerHelper (newsList, "/News/index", 1, page ?? 1, 3, true);
return View(pager);
}
@{
Layout = null;
}
@model PagerHelper
新闻列表
信息列表
@using (Html.BeginForm())
{
新闻类别
@Html.DropDownList("NewsClasses", ViewBag.NewsClasses as SelectList, "—请选择—")
信息标题
@Html.TextBox("NewsTitle")
@Html.Hidden("PageIndex", Model.PageIndex.ToString())
}
@{Html.RenderPartial("_login", Model);}
新闻类别
新闻标题
阅读次数
发布时间
操作
@{
Listnclist = (ViewBag.NewsClasses as IQueryable ).ToList();
}
@foreach (var news in Model.PagedData)
{
@nclist.FirstOrDefault(c => c.Value == news.NewsClass).Text
@news.NewsTitle
@news.ReadCounts
@news.BookTime
@Html.ActionLink("编辑", "NewsEdit", new { news.ID })
@Html.ActionLink("删除", "NewsDelete", new { news.ID }, new { onclick = "return confirm('你确认删除吗?')" })
}
@Html.Raw(Model.PageNumberBar)
如上面的所说,int 是值类型,他的默认值是 0 。但是有的时候,你QueryString并不带这个id参数。
而你又没有一个Action可以处理这个请求。
但是你要处理怎么办呢?
你就需要给一个Action 让它能够接受,你这个不带id参数的请求。
注:对于不存在的东西,即为null。
那么,你就需要一个能够接受null值的Action。
所以,int? 扩展了int 的范围,增加了null值。
而对于楼上说的 ??
public string poo(int? id)
{
//todo
}
调用:
int? x;
//todo...
poo(x??5);
也就是说,x如果为null,则默认传值5.