一MVC2的view页面中form的用法: <% using (Html.BeginForm("方法名称", "控制器名称", FormMethod.Post)) {%>
二 视图把数据传到控制器的2种方法:
例: 视图代码
<% using (Html.BeginForm("About","Home"))
{ %>
<%=Html.TextBox("Name")%>
<input type="submit" value="submit" name="submit" />
<%}%>
控制器代码
(1) public ActionResult About(FormCollection form)
{
string s = form["Name"];
return View();
}
(2)public ActionResult About()
{
string s = Request.Form["Name"] ;
return View();
}
三 Html.ActionLink的用法
以下使用参数文字说明:
- linkText:生成的链接所显示的文字 类型:string
- actionName:对应控制器的方法 类型:string
- routeValues:向对应的action传递的参数 类型:object 或 RouteValueDictionary
- controlName:指定控制器的名称 类型:string
- htmlAttributes:设置<a>标签的属性 类型:object 或 IDictionary
- protocol:指定访问协议如:http等 类型:string
- hostName:指定访问域名 类型:string
- fragment:指定访问锚点 类型:string
重载一:Html.ActionLink("linkText","actionName")【默认当前页面控制器】
调用:<%: Html.ActionLink("默认当前页面控制器", "About")%>
生成效果:<a href="/Home/About">默认当前页面控制器</a>
重载二:Html.ActionLink("linkText","actionName",routeValues)
调用: routeValues Is object:
<%: Html.ActionLink("默认当前页面控制器", "About", new { id = 1, type = "Dic" })%>
routeValues Is RouteValueDictionary:
<%RouteValueDictionary Dictionary = new RouteValueDictionary();
Dictionary["id"] = 1;
Dictionary["type"] = "Dic";
%>
<%: Html.ActionLink("默认当前页面控制器", "About", Dictionary)%>
生成效果:<a href="/Home/About?classid=1">默认当前页面控制器</a>
重载三:Html.ActionLink("linkText","actionName","controlName")
调用:<%: Html.ActionLink("默认当前页面控制器", "About", "Home")%>
生成效果:<a href="/Home/About">默认当前页面控制器</a>
重载四:Html.ActionLink("linkText","actionName",routeValues,htmlAttributes)
调用: htmlAttributes Is object:
<%: Html.ActionLink("首页", "Index", "Home", null, new { @class = "active", target = "_blank" })%>【注:由于class是保留关键字,所以一定要写成@class】
htmlAttributes Is IDictionary:
<%IDictionary<string, object> AttrDictionary = new Dictionary<string, object>();
AttrDictionary["class"] = "active";
AttrDictionary["target"] = "_blank";
%>
生成效果:<a class="active" href="/" target="_blank">首页</a>
重载五:Html.ActionLink("linkText","actionName","controlName","protocol","hostName","fragment",routeValues,htmlAttributes)
调用:<%: Html.ActionLink("关于我们", "About", "Home", "http", "localhost", "top", null, null)%>
生成效果:<a href="http://localhost:12120/Home/About#top">关于我们</a>
1 DropdownList用法
(1) Controller 控制器中代码
public SelectList GetList()
{
List<SelectListItem> itemList = new List<SelectListItem>();
List<Test> testList = tableTest.Test.ToList();
SelectListItem item;
foreach(Test t in testList)
{
item = new SelectListItem() {Text=t.name,Value=t.id.ToString()};
itemList.Add(item);
}
SelectList List = new SelectList(itemList,"value","text");
return List;
}
/// <summary>
/// 编辑
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public ActionResult TestEdit(int id)
{
Test t = tableTest.Test.First(m => m.id == id);
ViewData["List"] = GetList();
return View(t);
}
(2)视图页面(View)代码
<div class="editor-field">
<%= Html.DropDownListFor(model => model.age,ViewData["List"] as SelectList)%>
<%= Html.ValidationMessageFor(model => model.age)%>
</div>
2 RadioButton用法:
<%=Html.RadioButtonFor(m=>m.age,0,new{@id = "radio1", @name = "rdolstState",@checked=true }) %>
<%=Html.RadioButtonFor(m => m.age, 1, new { @id="radio2",@name="rdolsState" })%>
<%=Html.ValidationMessageFor(x=>x.age) %>
3
ListBoxFor用法和dropdownlist类似
<%=Html.ListBoxFor(a => a.CategoryName, (SelectList)ViewData["Categories"])%>
10.TextBox , Hidden
<%=Html.TextBox("input1") %>
<%=Html.TextBox("input2",Model.CategoryName,new{ @style = "width:300px;" }) %>
<%=Html.TextBox("input3", ViewData["Name"],new{ @style = "width:300px;" }) %>
<%=Html.TextBoxFor(a => a.CategoryName, new { @style = "width:300px;" })%>
生成结果:
<input id="input1" name="input1" type="text"value="" />
<input id="input2" name="input2" style="width:300px;" type="text"value="Beverages" />
<input id="input3" name="input3" style="width:300px;" type="text"value="" />
<input id="CategoryName" name="CategoryName" style="width:300px;" type="text"value="Beverages" />
11.TextArea
<%=Html.TextArea("input5", Model.CategoryName, 3, 9,null)%>
<%=Html.TextAreaFor(a => a.CategoryName, 3, 3, null)%>
生成结果:
<textarea cols="9" id="input5" name="input5" rows="3">Beverages</textarea>
<textarea cols="3" id="CategoryName" name="CategoryName" rows="3">Beverages</textarea>
12.CheckBox
<%=Html.CheckBox("chk1",true) %>
<%=Html.CheckBox("chk1", new { @class="checkBox"}) %>
<%=Html.CheckBoxFor(a =>a.IsVaild, new { @class = "checkBox" })%>
生成结果:
<input checked="checked" id="chk1" name="chk1" type="checkbox"value="true" />
<input name="chk1" type="hidden"value="false" />
<input class="checkBox" id="chk1" name="chk1" type="checkbox"value="true" />
<input name="chk1" type="hidden"value="false" />
<input checked="checked"class="checkBox" id="IsVaild" name="IsVaild" type="checkbox"value="true" />
<input name="IsVaild" type="hidden"value="false" />
13.ListBox
<%=Html.ListBox("lstBox1",(SelectList)ViewData["Categories"])%>
<%=Html.ListBoxFor(a => a.CategoryName, (SelectList)ViewData["Categories"])%>
生成结果:
<select id="lstBox1" multiple="multiple" name="lstBox1">
<option value="1">Beverages</option>
<option value="2">Condiments</option>
<option selected="selected"value="3">Confections</option>
<option value="4">Dairy Products</option>
<option value="5">Grains/Cereals</option>
<option value="6">Meat/Poultry</option>
<option value="7">Produce</option>
<option value="8">Seafood</option>
</select>
<select id="CategoryName" multiple="multiple" name="CategoryName">
<option value="1">Beverages</option>
<option value="2">Condiments</option>
<option value="3">Confections</option>
<option value="4">Dairy Products</option>
<option value="5">Grains/Cereals</option>
<option value="6">Meat/Poultry</option>
<option value="7">Produce</option>
<option value="8">Seafood</option>
</select>
14.DropDownList
<%= Html.DropDownList("ddl1", (SelectList)ViewData["Categories"], "--Select One--")%>
<%=Html.DropDownListFor(a => a.CategoryName, (SelectList)ViewData["Categories"], "--Select One--", new { @class = "dropdownlist" })%>
生成结果:
<select id="ddl1" name="ddl1">
<option value="">--Select One--</option>
<option value="1">Beverages</option>
<option value="2">Condiments</option>
<option selected="selected"value="3">Confections</option>
<option value="4">Dairy Products</option>
<option value="5">Grains/Cereals</option>
<option value="6">Meat/Poultry</option>
<option value="7">Produce</option>
<option value="8">Seafood</option>
</select>
<select class="dropdownlist" id="CategoryName" name="CategoryName">
<option value="">--Select One--</option>
<option value="1">Beverages</option>
<option value="2">Condiments</option>
<option value="3">Confections</option>
<option value="4">Dairy Products</option>
<option value="5">Grains/Cereals</option>
<option value="6">Meat/Poultry</option>
<option value="7">Produce</option>
<option value="8">Seafood</option>
</select>
15.Partial 视图模板
webform里叫自定义控件。功能都是为了复用。但使用上自定义控件真的很难用好。
<% Html.RenderPartial("DinnerForm"); %> 看清楚了没有等号的。
{
string keyWord = Request.Form["keyWord"];
var talk = dbTalk.talk.Where(m => m.name.IndexOf(keyWord)>=0);//dbTalk.talk.Where(m => m.name.Equals(keyWord) == true);//
if (talk == null)
{ ViewData["error"] = "未找到相关信息!"; }
else
{ ViewData["error"] = "Yes!";}
ViewData.Model = talk; //视图页面数据
return View();
}
<%@ Import Namespace="MvcApplication1.Models" %>//引入models
{ %>
<tr>
<td>
<%= Html.ActionLink("Edit", "Edit", new { id=item.id }) %> |
<%= Html.ActionLink("Details", "Details", new { id=item.id })%> |
<%= Html.ActionLink("Delete", "Delete", new { id=item.id })%>
</td>
<td>
<%= Html.Encode(item.id) %>
</td>
<td>
<%= Html.Encode(item.name) %>
</td>
<td>
<%= Html.Encode(item.text) %>
</td>
<td>
<%= Html.Encode(item.time) %>
</td>
</tr>
<% } %>