MVC笔记

1.使用此ViewBag方法,您可以轻松地从视图模板传递其它参数给布局模板页面。如:@ViewBag.Title

2.@Html.ActionLink("Edit", "Edit", new { id=item.ID })

Html对象是一个Helper, 以属性的形式在System.Web.Mvc.WebViewPage基类上公开。 ActionLink是一个帮助方法(Helper),便于动态生成指向Controller中操作方法 的HTML 超链接链接。ActionLink方法的第一个参数是想要呈现的链接文本 (例如,<a>Edit Me</a>)。第二个参数是要调用的操作方法的名称(在本例中, Edit方法)。最后一个参数是一个匿名对象anonymous object),用来生成路由数据 (在本例中,ID 为 4 的)。

在上图中所生成的链接是http://localhost:xxxxx/Movies/Edit/4默认的路由 (在App_Start\RouteConfig.cs 中设定) 使用的 URL 匹配模式为: {controller}/{action}/{id}。因此,ASP.NET 将http://localhost:xxxxx/Movies/Edit/4转化到Movies 控制器中Edit操作方法,参数ID等于 4 的请求。查看App_Start\RouteConfig.cs文件中的以下代码。

MapRoute方法是使用HTTP请求路由查找到正确的控制器(controller)和行动方法,并提供了可选ID的参数。MapRoute方法也被用于通过HtmlHelpersActionLink的控制器,操作方法及任何路由数据,以生成URL。

您还可以使用QueryString来传递操作方法的参数。例如,URL: http://localhost:xxxxx/Movies/Edit?ID=3还会将参数ID为 3的请求传递给Movies控制器的Edit操作方法。

3.Html.BeginForm辅助会创建一个<form>标签。当用户通过点击“过滤器”按钮,提交表单, Html.BeginForm助手会导致窗体post到它本身。

 

@{
ViewBag.Title = "Home Page";
}
<script src="/Content/Msg.js"></script>
<div class="col-md-6" ng-app="myApp" ng-controller="myCtrl" id="my-app">

@*<form ng-submit="sendPost()" novalidate>*@
<form role="form" name="myForm" ng-submit="submitForm(myForm.$valid)" class="form-horizontal" novalidate>

<div class="form-group">
<select class="form-control" ng-model="model.cmbList">
<option ng-repeat="item in datas" value="{{item.id}}">{{item.Name}}</option>
</select>
</div>
<input class="btn btn-primary btn-lg" ng-disabled="myForm.$invalid" type="submit" value="提交" />
</form>

@Html.Partial("/views/home/msg.cshtml")


</div>
<script>
var mymodal = angular.module('myApp', []);

mymodal.controller('myCtrl', function ($scope, $http) {
$scope.model = {};
$http.get("/home/GetData")
.success(function (response) {
$scope.datas = response;
$scope.model.cmbList = $scope.datas[0].id;
debugger
});
//下面可以去掉
$scope.submitForm = function (isValid) {
var data = {
"parentId": $scope.model.parentId,
//"Name": $scope.model.Name
"Name": $scope.model.cmbList
};

$http.post("/home/index/", data)
.success(function (data, status, headers, config) {
$scope.title = "警告";
$scope.msg = data;
$("#myModal").modal("show");
})
.error(function (data, status, header, config) {
alert("no");
});
}
});
</script>

 

public class HomeController : Controller
{
[HttpGet]
public ActionResult Index( )
{
return View();
}

[HttpPost]
[AllowCrossSiteJson]
public ActionResult Index(Area model)
{
return Json(model.parentId, JsonRequestBehavior.AllowGet);
}

[AllowCrossSiteJson]
public ActionResult GetData()
{
List<Area> datas = new List<Area>
{
new Area{id="12",Name="北京"},
new Area{id="13",Name="上海"},
new Area{id="14",Name="海南"}
};
return Json(datas,JsonRequestBehavior.AllowGet);
}
}
public class Area
{
public string id { get; set; }
public int parentId { get; set; }
public string Name { get; set; }
}

转载于:https://www.cnblogs.com/techblogs/p/5412274.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值