Razor视图

@{

string name="jerry";
}

<div> @name </div>     //显示jerry

@{

  string js="<script>alert('a')</script>";
}

<div> @js</div>     //显示<script>alert('a')</script>而并非弹出alert

@{

  string js="<script>alert('a')</script>";
}

<div> @Html.Raw(js)</div>     //弹出alert        Html.Raw(string/object)   将字符串当作html进行解析

@{

  ViewBag.Name = "abc";

}

<script type="text/javascript">
  $(function () {
    var msg = "hello,@ViewBag.Name";
    $("#abc").html(msg).show("slow");   //显示hello,abc
  });
</script>

@{
      <text>alert("@ViewBag.Message")</text> //利用text回到html/js代码

}

Layout里定义一个节:

@if(IsSectionDefined("Footer"){          //之所以加这个判断是为了仅在需要提供节的视图中展示Footer,如果不加,而视图中没有提供节的内容,就会报错

  RenderSection("Footer");

}

else{

<span>this is a default Footer.</span>

}

视图中提供节的内容:@section Footer{

  my url : <strong>@Request.Url</strong>

}

_ViewStart.cshtml作用:统一指定默认布局,便于维护,在Views文件夹的根目录

返回分部视图,即不包含布局页的视图:

public ActionResult Index(){

  return PartialView();

}

配合ajax很方便做无刷新页面

使用DropDownList,绑定数据源时,可以直接 SelectList sl= new SelectList( xxx.GetList() , "Id" , "Name" );  //list,值,text

然后 @Html.DropDownList("xxName", sl ,"默认空")

如果要在text里自定义绑定字段就得

List<SelectListItem> slShop = new List<SelectListItem>();
ShopManager.Instance().GetAll().ForEach(p =>
{
    slShop.Add(new SelectListItem { Text = p.City + " - " + p.Name, Value = p.Id.ToString() });
});

然后@Html.DropDownList("xxName", slShop  ,"默认空")

上一篇:转 CAS实现SSO单点登录原理


下一篇:P2962 [USACO09NOV]灯Lights 对抗搜索