首页 新闻 会员 周边

asp.net mvc如何定义页面上的局部变量?

0
[待解决问题]

在asp.net webform 的cs文件里面可以在类下面定义局部变量,比如 下面的Id

public partial class _Default : Page
    {
        public int Id;
        protected void Page_Load(object sender, EventArgs e)
        {
            Id = int.Parse(Request.QueryString["Id"]);
        }


        protected void btnDelete_Click(object sender, EventArgs e)
        {
            del(Id);
        }

        public void del(int id)
        {
            //删除...
        }
    }

 

在page_load 里面 可以对这个Id 赋值。 比如从其他页面传入一个 id过来。在这个页面里面的page_load 里面获取到传过来的值赋值给这个Id。比如要删除这条数据就可以直接使用这个id了。

 

在mvc 里面是否可以定义这样的局部变量, 应该怎么定义一个变量,可以在整个controller 里面使用。比如在进入controller 里第一次执行的action  里面对这个变量赋值,然后再其他的action 里面可以直接使用这个变量。如下:

    public class Default1Controller : Controller
    {
        //
        // GET: /Default1/
        public int Id;
        public ActionResult Index(int id)
        {
            Id = id;
            return View();
        }

        public ActionResult Show()
        {
            return View(Id);
        }
    }

上面这个方式好像在 Show 这个action 里面Id的值是为0的。

yzy的主页 yzy | 菜鸟二级 | 园豆:317
提问于:2014-07-02 00:46
< >
分享
所有回答(5)
0

还没理解mvc,骚年继续研究

Qlin | 园豆:2403 (老鸟四级) | 2014-07-02 09:23

刚刚接触。

支持(0) 反对(0) yzy | 园豆:317 (菜鸟二级) | 2014-07-02 09:24

求指点,一个页面传入一个id过来,想接受到这个id后一直保持在本页面可以使用。不想将id保存在隐藏域中,因为这样,id被暴露在页面中去了。

支持(0) 反对(0) yzy | 园豆:317 (菜鸟二级) | 2014-07-02 09:45
0

@{

int   X=0;

 

}

用的时候@(x)

大楚打码人 | 园豆:4313 (老鸟四级) | 2014-07-02 09:30
1

你要清楚每个Action都是一个真实的页面的,所以跨页面访问变量,我想你应该知道了吧  

cookie,session, controller的全局变量都行的

袁家小黑球 | 园豆:1045 (小虾三级) | 2014-07-02 12:39
0

请问该问题您是如何解决的,在下现在也遇到了该问题,不知如何在一个controller里定义一个变量,让该controller中的action共用,我这个变量是对应页面的helper类,各action利用该helper取数据返回给页面,项目是从webform迁移到mvc

LJLLY | 园豆:195 (初学一级) | 2015-09-12 22:42
0

前期的架构没有搭建好,导致出现了这样的奇怪的需求。将信息加密后放到cookie或者本地存储把,应用程序域也可以。上面说的很对,一个action就是一个视图页面,要想公用可不就是跨页面传值了嘛。

Naylor | 园豆:137 (初学一级) | 2016-09-06 11:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册