ASP.NETMVC项目里创建一个aspx视图
ASP.NETMVC项⽬⾥创建⼀个aspx视图先从控制器⾥添加视图
视图引擎选"ASPX(C#)",使⽤布局或模板页不要选。
在Views\EAV⽬录⾥,⽣成的aspx是个单独的页⾯,没有代码⽂件,所以代码也要写在这个⽂件⾥。
@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>"
@ Import Namespace="System" @ Import Namespace="System.Data"
@ Import Namespace="System.Web.UI"
@ Import Namespace="System.IO"
@ Import Namespace="System.Web.UI.WebControls"
<script type="text/C#" runat="Server">
protected void Page_Load(object sender, EventArgs e)
{
int i;
Response.Write("<h2>Page_Load</h2><br/>");
Calendar1.SelectedDate = new DateTime(2013, 1, 1);
for (i = 1; i <= 100; ++i)
{
lstRec.Items.Add(string.Format("Item{0:00}", i));
}
}
</script>
教师节老师的感谢语<!DOCTYPE html>
<html>
<head runat="server">
<title>Index</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Calendar ID="Calendar1" runat="server"></asp:Calendar>
<br />
<asp:listbox ID="lstRec" runat="server" Width="150"></asp:listbox>
</div>
</form>
中国的传统文化有哪些</body>
</html>
这样就可以使⽤设计界⾯了
ASPX(C#)视图引擎默认只⽣成⼀个aspx⽂件,都写在⼀个⽂件⾥毕竟不是好主意,能不能像传统的aspx的代码分离结构呢?答案是可以的!
先加⼀个Controller:EAVController,仍然按上⾯的办法加视图。
然后在EAV⽬录右单击,添加新建项。
深情的话选Web窗体,名称那肯定是index啦。
好,我们需要的出现了。但是运⾏是要出错滴。
那就需要改⼀下了,打开代码⽂件index.aspx.cs,加⼀个命名空间的引⽤:using System.Web.Mvc;index页⾯类继承于
形容冬天的诗句System.Web.UI.Page是不⾏的,改成 System.Web.Mvc.ViewPage。ViewPage是Page的⼦类。
------index.aspx.cs⽂件------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FirstMvc.Views.EAV
{
public partial class index : System.Web.Mvc.ViewPage
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("<h2>EAV Page_Load</h2><hr/><br/>");
for (int i = 1; i <= 100; ++i)
{
lstRec.Items.Add(string.Format("Item{0:00}", i));
}
}
}
}
------index.aspx⽂件------
@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="FirstMvc.Views.EAV.index"
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ListBox ID="lstRec" runat="server" Width="150"></asp:ListBox>
</div>
</form>
</body>
</html>
看看运⾏效果:
有个注意的地⽅,因为mvc处理的请求⽽不是⽂件,它没有asp页⾯的状态和⽣命周期,所以不能执⾏post回送的⽅法。
例如,在aspx页⾯⾥加⼀个TextBox和Button:
<asp:TextBox ID="txtTest" runat="server" Text="Hello" />
  
<asp:Button ID="btnsubmit" Text="改变TextBox⽂本" runat="server" OnClick="submit" />
在代码⽂件⾥:
去痘印产品排行protected void submit(object sender, EventArgs e)
{
园艺师考试txtTest.Text = "World";
}
很简单,就是按下这个按钮使TextBox的⽂本变成World,但是你会发现没有效果,TextBox⾥总是Hello。因为这个访问的不是aspx页⾯,⽽是的形式。
最后:asp mvc强烈推荐Razor引擎,本⽂只是介绍⼀种⽅法,在mvc⾥装个web窗体也是没办法的事情。
使⽤过成功的例⼦。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。