运行时绑定程序异常由usercode支持 [英] Runtime Binder Exception was ubhandeled by usercode

查看:78
本文介绍了运行时绑定程序异常由usercode支持的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用控制器,模型,视图开发了一个MVC应用程序



控制器使用viewbag准备数据并重定向到查看。



型号:(Data.cs)

i was developed one MVC appication using controller,Model,View

controller prepares data using viewbag and redirected to view.

Model:(Data.cs)

<br />
<br />
using System;<br />
using System.Collections.Generic;<br />
using System.Linq;<br />
using System.Web;<br />
<br />
namespace model.Models<br />
{<br />
    public class data<br />
    {<br />
        public int Number { get; set; }<br />
        public string Name { get; set; }<br />
        public string Grade { get; set; }<br />
    }<br />
}<br />
<br />





控制器:( studentController)



Controller:(studentController)

<br />
using System;<br />
using System.Collections.Generic;<br />
using System.Linq;<br />
using System.Web;<br />
using System.Web.Mvc;<br />
using model.Models;<br />
<br />
namespace model.Controllers<br />
{<br />
    public class studentController : Controller<br />
    {<br />
        //<br />
        // GET: /student/<br />
        public ViewResult register()<br />
        {<br />
            List<string> s1 = new List<string>();<br />
            data d1 = new data() { Number = 1, Name = "varma", Grade = "A" };<br />
            data d2 = new data() { Number = 2, Name = "kumar", Grade = "c" };<br />
            data d3 = new data() { Number = 3, Name = "vasu", Grade = "B" };<br />
            s1.Add("d1");<br />
            s1.Add("d2");<br />
            s1.Add("d3");<br />
            ViewBag.Udata = s1;<br />
            return View();<br />
        }<br />
<br />
        public ActionResult Index()<br />
        {<br />
            return View();<br />
        }<br />
<br />
    }<br />
}<br />
<br />



查看:(register.cshtml):


view:(register.cshtml):

<br />
<br />
@{<br />
    ViewBag.Title = "register";<br />
}<br />
<br />
<h2>register</h2><br />
<br />
@foreach (var item in ViewBag.Udata)<br />
{<br />
    <ul>@item.Name.....@item.Grade</ul><br />
}<br />
<br />





每当运行该任务时会出现一个错误



错误将在一行中提高该行是





whenever run that task one error will raise

error will be raising in one line that line is

<br />
  <ul>@item.Name.....@item.Grade</ul><br />





错误是字符串不包含名称的定义



这是运行时异常。



请帮帮我。谢谢你



error is" string does not contain definition for name"

this is runtime exception.

please help me.Thank u

推荐答案

你已经创建了一个字符串列表。然后,您创建了三个数据对象,将它们抛弃,然后将本地变量的名称作为字符串添加到列表中。



因此, ViewBag.UData 属性包含字符串<的列表对象以及 foreach 循环中的 item 变量是。由于字符串类型不包含名为名称等级,你得到一个编译器错误。



改变你的代码来传递一个数据对象的列表:

You've created a list of strings. You've then created three data objects, thrown them away, and then added the names of the local variables as strings to your list.

As a result, the ViewBag.UData property contains a list of string objects, and the item variable in your foreach loop is a string. Since the string type doesn't contain properties called Name or Grade, you get a compiler error.

Change your code to pass a list of data objects instead:
public ViewResult register()
{
    List<data> s1 = new List<data>();
    data d1 = new data() { Number = 1, Name = "varma", Grade = "A" };
    data d2 = new data() { Number = 2, Name = "kumar", Grade = "c" };
    data d3 = new data() { Number = 3, Name = "vasu", Grade = "B" };
    s1.Add(d1);
    s1.Add(d2);
    s1.Add(d3);
    ViewBag.Udata = s1;
    return View();
}


这篇关于运行时绑定程序异常由usercode支持的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆