敢问这是什么意思?

解决方案 »

  1.   


    原来是MVC啊,我说呢,没用过MVC!!!
      

  2.   

    如楼上:
    这个相当于以前的<%%> 表示服务器端代码吧.
      

  3.   

    唉。razor语法。你真的好低级的错误也能犯。罢罢。大爷曲线救图
      

  4.   

    我知道错误 了。唉
    tsql的定义定义在这里了。不过我已经曲线救国了代码如下public static MvcHtmlString GetCheckedString<TModel>(this HtmlHelper<TModel> html, Expression<Func<TModel, bool>> expression)
        {
            if(html.ViewData.Model == null ) return new MvcHtmlString("");
            if (expression.Compile().Invoke(html.ViewData.Model)) return new MvcHtmlString(" checked ='checked' ");
            return new MvcHtmlString("");
        }
    cshtml <input name="Flag" type="checkbox" id="Flag" value="1" @Html.GetCheckedString(p=> (p.Flag??0) ==1 ) >有效我就不信治不了你
      

  5.   

    就为了checkbox的勾选去扩展htnlhelper,不值当也没必要,如下即可: <input name="Flag" type="checkbox" id="Flag" value="1" @(Html.Raw((p.Flag??0) ==1 ? "checked=\"checked\"" : "")) >
      

  6.   


    是Create的时候Model为null 此时你的p如果不判定null 有可能会导致出错
    上面的代码也是一个无奈之举。我没办法预计这个错误什么时候解决。不可能再花大多的时间
      

  7.   

    嗯,对于我来讲超过二处使用,就有了扩展的必要,特别是
    Html.CheckBoxFor在对于一些Nullable属性的判定上特别不给力
    如下
    public class T
    {
    public nullable<bool> IsCheck{get;set;}
    }此时使用就很悲剧
    Html.CheckBoxFor(p=>p.IsCheck??false)
    这个时候就会报错
      

  8.   

    是我代码有误,@s的定义是tsql中的。在这里是错误的用法
      

  9.   

    我不清楚你的Controller里到底怎么写的,但是你new一个model对象,即便数据库不存在,不会出现你说的报错,另外CheckBoxFor这个控件并不好用,建议用html控件<input type="checkbox" />
      

  10.   

    如下
        
        public ActionResult Create()
            {
                 return View();
            }这种呢,在Create 使用get方式的时候是没有Model的
    而在
    [HttpPost]
    [HttpPost]
            public ActionResult Create(Disease disease)
            {
                if (ModelState.IsValid)
                {
                    disease.AddTime = System.DateTime.Now;
                    db.Disease.AddObject(disease);
                    db.SaveChanges();
                    return RedirectToAction("Index");
                }             return View(disease); //在验证失败时,这时又有Model
            }   不知,你是否同意上述看法这个代码由ms 模版代码生成。主要用于Create校验失败时传回错误数据供用户检验,也就是维护数据
      

  11.   


    两个方法,重载
    [HttpGet]
    public ActionResult Create()
            {
                 Model m=new Model();
                 ...
                 return View(m);
            }
    [HttpPost]
    public ActionResult Create(Model m)
            {

                 return View(Model );
            }
      

  12.   


    哥哥,你好好领会一下微软方法的含义。不需要new一个的时候,它是不会new的,我也认为它的思路比较到位与清晰.
      

  13.   

    那只是个例子,省略省去部分。当你的视图比较复杂如有列表、有下拉、有多选,提交验证不过需要保存状态、设置焦点等等,new只是为了传递相关视图数据罢了,也许你现在不会体会不到也用不到,但不代表以后不会碰到!
      

  14.   


    我仔细研究了一下,你上面说的几种情况都不需要 new 一个业务实体。列表 -》 外部列表都会通过ViewBag传递
    下拉-》同列表
    多选 => 涉及到多步多选的,最多将所在select 容器做成 @Html.Partial("xxx")使用ajax更新相应容器
    内容依然使用ViewBeg传递,与Model无关提交验证不过,是需要回传一个业务实体这个时候的Model是由ModelBinder通过回传与Get生成了相应的model.请参见代码设置焦点-》好象用不着吧 $(doucument.body).ready(function(){$("#xx").focus();});当然你也可以把以上的各种情况组合成一个大结构。一次传递。这样也行
    不要拿以后忽悠咱,咱可不怕,从04年的asp.net 1.1 搞到现到的 mvc4.自认还是不担心以后的.
      

  15.   


    我晕,我忽悠你???
    你全部ViewBag传递,那强类型全部抛弃好了,还要什么提示?还要model干甚?。select你竟然要用局部页去加载,多了你怎么办,htmlhelper控件你不通过model去解析提交,你后台全部request不成,话不多说,你信则信,不信罢了!
      

  16.   

    Model本身就应该做成一个集合各种字段、列表数据等的集合,不实例化Model对象并赋值相关初始化加载项,View何来数据呈现!
      

  17.   

    看来。你的项目经验也有限呀。别和我谈以后了。
    我一向都是支持强类型的。哥哥哪句话看到我支持弱类型?我想使用弱类型在我上面的描述中应该要使用下面传值方式中的哪种或是哪几种呢
    ViewData ViewState Session Cachce Application  ViewBag  
    请你回答一下。方便我做出正确的判定
    我与你最大的分岐是 按需使用new instance现在又扯到强类型。未免太牵强
    知其然,而不知其所以然,给我的感觉就是这样。一通乱扯,总可以抓个瞎眼的兔子
      

  18.   


    你的这种说法感觉就是一通乡愿的乱扯,你什么列表、内容全都用ViewBag,还谈什么强类型,我的意思是通过对象处理处理相关数据,你甚至一个select列表竟然要用Partial局部页去加载,敢问你接触MVC多长时间了,敢发此言论,上面一个razor语法都没过关,不知你是怎么抓瞎测试过的关,岂非让人笑掉大牙,我也真不敢谈你所谓的以后。发帖回复也不客气也就罢了,还来挖苦,你当每个人都这有耐心为一个帖子去回复,就此打住吧,咋没必要再纠结!
      

  19.   

    现在partial类表示一个类也可以有多个部分组成。一个页面由多个部分组成又有何大惊小怪,并且对很多项目来讲可以提高开发速度与复用率,签于你的态度。至于其中原由和为什么,我是不会告诉你的
    razor语法。从提出概念,到有实现的产品,还不过几年时间,试问它成熟吗?如果你认为它成熟。我却认为不成熟,它缺点包括但不限于必须使用 {}来判定服务端语法,导致的问题包括 if必须要打括号,而我们经常使用的
    if(condition)codeblock;无法使用,你必须要以这样的形式 if(condition){codeblock;},请问你是否有同感?我的问题你还没有回答。我无法判定你的从业经验。我所讲的东西,我怕你听不懂我苦口婆心的告诉你,在从业领域中,需不需要new一个实体是要需要分辩清楚的,特别不需要new一个的时候,你偏要new一个,还要和我狡辩,然后把问题扩大化。从各个方面,来表示需要new一个。但是,各个方面与问题关联性不强别动不动拿以后你就明白了之类的词来忽悠我。
    你讲不清楚的东西,就不要讲,讲就讲清楚,该讲的就讲,不明白就别推脱强类型与弱类型,你还没有给我一个答复。如果你搞不清楚。我再问你强类型与弱类型的区别在何处
    MVC框架是一个强类型的框架吗?
      

  20.   

    跟你讲,我一向都是不耻下问的。
    虽然在csdn上的解决方案现在比起04年之前少了许多,学习的风气也少了很多。但是好的解决方案比分还讲还是很难求的。只是csdn上面。经常就是一句话。而这一句话通常说的不明不白,要不就给个链结。我一分不给。我也会碰到问题,但是我从不误导他人就你这学习态度与治学方式,你还得跟我学学
      

  21.   

    mvc一个鸡肋功能,完全可以用.net2.0的ashx+url替换