欢迎访问 生活随笔!

尊龙游戏旗舰厅官网

当前位置: 尊龙游戏旗舰厅官网 > 编程语言 > asp.net >内容正文

asp.net

asp.net mvc 3 常用 -尊龙游戏旗舰厅官网

发布时间:2025/1/21 asp.net 19 豆豆
尊龙游戏旗舰厅官网 收集整理的这篇文章主要介绍了 asp.net mvc 3 常用 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

http://blog.csdn.net/churujianghu/article/details/7297358

1、asp.net mvc 3 如何去除默认验证

     这个默认验证是在web.config配置文件中设置的
    设置为false就行了,
    这个是去掉所有model的默认验证,然后你可以在model中加上自己的验证,这样哪些属性需要验证,哪些不需要 就看你自己了

示例代码:

view code publicclass movie
{
publicint id { get; set; }

[required(errormessage="必须输入标题")]
publicstring title { get; set; }

[required(errormessage="必须输入发行日期")]
public datetime releasedate { get; set; }

[required(errormessage="必须制定种类")]
publicstring genre { get; set; }

[required(errormessage="必须输入票价")]
[range(1,100,errormessage="票价必须在 1 到 100 元之间")]
publicdecimal price { get; set; }

[stringlength(5,errormessage="最多允许输入5个字符")]
publicstring rating { get; set; }
publicstring description { get; set; }
}

2、asp.net mvc 3 在视图中如何创建html标签,(在视图中把含有标签的字符编译成相应的标签)

     在asp.net mvc 3 中的视图中字符串输出是默认按原字符串输出的,如果需要把字符串中的标签字符编译成相应的标签

     则需要在输出的时候创建标签:@mvchtmlstring.create(viewbag.regionhtml); viewbag.regionhtml是包含标签的字符串

3、asp.net mvc 3 中 报错:mvc 3 属性不能设置为“null”值。必须将该属性设置为类型为“int32”的非 null 值。

     这是因为数据库中的表中的字段中有null值(如:int,double,datetime 等)

     这里只需要把数据库中相应数字类型的的字段的值中的null改掉就行了,比如把数字类型null值改成0,字符类型null值改成空格,日期类型null值改成日期

4、数据库表需要加s

    asp.net mvc 3 中有个奇怪的现象,在使用efcodefirst后很多时候,数据库中的表需要加s,比如原来数据库表product

   现在要变成products,不然很多时候会报错:对象名 'dbo.products' 无效

5、asp.net mvc 3 中如何使用单选按钮 radiobutton

     这个比较简单,两种方式都行 @html.radiobutton 或 @html.radiobuttonfor    

     1、  @html.radiobutton("sex",true)男       2、 @html.radiobuttonfor(model=>model.sex,true)男
            @html.radiobutton("sex",false)女            @html.radiobuttonfor(model=>model.sex,false)女

     这里的sex就是实体属性,数据类型是bool类型,它会自动匹配数据库的值,相同的选中

6、asp.net mvc 3 中如何引用js文件

    

     这里的calendar4.js文件直接放在网站自动生成的scripts文件夹中

7、asp.net mvc 3 文本框自定义单击事件 onclick事件

    有两种方式

          1、直接写html标签,和平时一样

       2、这样写:@html.textbox("birthday", model.birthday, new { onclick = "mycalendar.setdate(this)",style="width:500px;" })

    数据交互上1和2没什么大的区别,但是如果你写了验证,1是不会引用错误样式,2会自动关联错误样式。

8、asp.net mvc 3 使用下拉列表 dropdownlist

   首先在控制器中需要得到一个selectlist控件放到上下文中(viewdata)

  控制器代码如下:           

view code private crmdbcontext db = new crmdbcontext(); var list = db.partments.tolist(); viewdata["partmentddl"] = new selectlist(list, "id", "partname",employee.partmentid);

  视图中:   

?
1、 @html.dropdownlist("partmentid", (selectlist)viewdata["partmentddl"], "--this one--")    2、 @html.dropdownlistfor(model => model.partmentid, (selectlist)viewdata["partmentddl"], "--this one--")

      这里的partmentid是实体属性,如果viewdata中的selectlist中存在partmentid值则自动选中该值。"--this one--"在下拉列表中添加一个选项,如果不需要添加,则填null

9、asp.net mvc 3 具有键“xxx”的 viewdata 项属于类型“system.int32”,但它必须属于类型“ienumerable”。

  网上有人说是:错误主要原因是在提交处不认识原来的下拉列表(来自这里)他的解决方法是:在控制器中的接受处理的action中重复构建dropdownlist的代码,比如

view code public actionresult create(){var actionlist = db.actions.tolist();viewdata["actionddl"] = new selectlist(actionlist, "id", "getmoactname");var popedomlist = db.popedoms.tolist();viewdata["pepedomddl"] = new selectlist(popedomlist, "id", "property");return view();}//// post: /actionpopedoms/create[httppost]public actionresult create(actionpopedoms actionpopedoms){var actionlist = db.actions.tolist();viewdata["actionddl"] = new selectlist(actionlist, "id", "getmoactname");var popedomlist = db.popedoms.tolist();viewdata["pepedomddl"] = new selectlist(popedomlist, "id", "property");if (modelstate.isvalid){db.actinpopedoms.add(actionpopedoms);db.savechanges();return redirecttoaction("index");}return view(actionpopedoms);}

 大家注意这两个方法,第一个action方法是展示新增页面用的,也就是说你再其他地方点击新增功能时,通过这个方法在转到视图,这个视图就是新增页面,在这里方法里构建了两个下拉列表,当我们点击相应按钮确定新增后,请求就被第二个action方法,这个方法传进来的是一个实体对象(这里为什么是一个实体对象就不具体说明),在这里方法里面就是执行相关新增的功能的,在这里新增成功后会转到action方法index方法中,如果新增失败则转到当前页面(这里代码 return view(actionpopedoms)就是新增的页面),问题就出在这里,如果第二个方法没有重新构建下拉列表的代码,则这里返回当前页面后,页面就不认识第一个action方法中构建的下拉列表,所以页面最终报错是 具有键“xxx”的 viewdata 项属于类型“system.int32”,但它必须属于类型“ienumerable。所以只需要确定第二个action方法里的操作不会报错就行了。如果你需要看错误信息,你可以try一下,并return view(错误信息)

10、asp.net mvc 3 在razor view页面中如何导入命名空间呢

?
@using mynamespace

11、asp.net mvc 3 中如何获得请求的url路径 

?
string url = "";//url全部分 url = httpcontext.current.request.url.tostring();

12、asp.net mvc 3 中 tempdata、viewdata、viewbag三者区别

     tempdata viewdata viewbag都可以用来保存数据,它们之间的区别如下: tempdata保存在session中,controller每次执行请求的时候,会从session中先获取tempdata,而后清除session,获取完tempdata数据,虽然保存在内部字典对象中,但是其集合中的每个条目访问一次后就从字典表中删除。具体代码层面,tempdata获取过程是通过sessionstatetempdataprovider.loadtempdata方法从controllercontext的session中读取数据,而后清除session,故tempdata只能跨controller传递一次。viewdata生命 周期和view相同,仅对当前view有效。 viewbag和viewdata生命周期相同,也是对但前view有效,不同的是viewbag的类型不再是字典的键值对结构,而是dynamic动态类型,属mvc3里面新增的部分。-------来自地址

13、asp.net mvc 3 中使用单选按钮radiobutton

  这里为了应急所需,暂只介绍一种用法代码如下


            @html.radiobutton("sex", model.sex, model.sex)
            男
            @html.radiobutton("sex", !model.sex, !model.sex)
            女
            @html.validationmessagefor(model => model.sex)
       

总结

以上是尊龙游戏旗舰厅官网为你收集整理的asp.net mvc 3 常用的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得尊龙游戏旗舰厅官网网站内容还不错,欢迎将尊龙游戏旗舰厅官网推荐给好友。

网站地图