【问题标题】:empty return variable in controller - asp.net控制器中的空返回变量 - asp.net
【发布时间】:2021-01-10 11:27:12
【问题描述】:

虽然home.dilstring数据是用html显示的,但是当我用console.write查看数据时,显示的是一个空值。在 html 中查看。

为什么在加载时它在你的类的控制器中显示为空?

控制器:

public class HomeController : BaseController
{
    [HttpGet]
    public ActionResult Index()
    {
        Home home = new Home();
    
        using (var db2 = new DBservice...())
        {
            Console.Write("deneme", home.dilstring); 
        }
    }
}

模型类:

public class Home
{
    [Display(Name = "language", ResourceType = typeof(Localization))]
    public string dilstring { get; set; }
}

查看:

@model ...Models.Home
    
<p class="vc_subtitle">
    @Html.LabelFor(model => model.dilstring)
</p>

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    home 对象是 Home 类中新实例化的对象,因此如果没有分配默认值,“dilstring”属性值将为空

    LabelFor 只会为指定的属性创建标签元素并显示它的名称

    所以@Html.LabelFor(model => model.dilstring) 会在下面生成html

     <label for="dilstring">dilstring</label>
    

    如果您将“LabelFor”更改为“DisplayFor”,您将获得空值作为控制器

    要了解差异,请尝试以下操作

     public class HomeController : BaseController
     {
      [HttpGet]
      public ActionResult Index()
      {
        Home home = new Home();
    
        using (var db2 = new DBservice...())
        {
            Console.Write("deneme", home.dilstring);
            home.dilstring = "Hi";
            Console.Write("deneme", home.dilstring);
        }
       }
       return View(home);
     }
    

    为了查看

     @model ...Models.Home
    
    <p class="vc_subtitle">
      @Html.LabelFor(model => model.dilstring)
    </p>
    <p class="vc_subtitle">
      @Html.DisplayFor(model => model.dilstring)
    </p>
    

    【讨论】:

    • home.dilstring 我想从本地化源文件中提取与语言字符串匹配的数据。
    • 从资源文件中分配 home.dilstring 的值只需看看这个线程 stackoverflow.com/questions/1508570/…
    猜你喜欢
    • 1970-01-01
    • 2014-10-02
    • 2019-09-08
    • 1970-01-01
    • 2023-03-05
    • 2018-09-24
    • 2015-07-24
    • 2018-01-06
    相关资源
    最近更新 更多