c# – 对ASP.NET视图中的“模型”含义感到困惑

c# – 对ASP.NET视图中的“模型”含义感到困惑,第1张

概述所以这是一个来自asp.net的MSDN教程的视图文件: @model EFDBfirst.Models.Student@{ ViewBag.Title = "Details";}<h2>Details</h2><div> <h4>Student</h4> <hr /> <dl class="dl-horizontal"> <dt> 所以这是一个来自asp.net的MSDN教程的视图文件:

@model Efdbfirst.Models.Student@{    VIEwBag.Title = "Details";}<h2>Details</h2><div>    <h4>Student</h4>    <hr />    <dl >        <dt>            @HTML.displaynameFor(model => model.Lastname)        </dt>        <dd>            @HTML.displayFor(model => model.Lastname)        </dd>        <dt>            @HTML.displaynameFor(model => model.Firstname)        </dt>        <dd>            @HTML.displayFor(model => model.Firstname)        </dd>        <dt>            @HTML.displaynameFor(model => model.EnrollmentDate)        </dt>        <dd>            @HTML.displayFor(model => model.EnrollmentDate)        </dd>        <dt>            @HTML.displaynameFor(model => model.MIDdlename)        </dt>        <dd>            @HTML.displayFor(model => model.MIDdlename)        </dd>    </dl>    <table >        <tr>            <th>                Course Title            </th>            <th>                Grade            </th>            <th>                Credits            </th>        </tr>        @foreach (var item in Model.Enrollments)        {            <tr>                <td>                    @HTML.displayFor(modelitem => item.Course.Title)                </td>                <td>                    @HTML.displayFor(modelitem => item.Grade)                </td>                <td>                    @HTML.displayFor(modelitem => item.Course.Credits)                </td>            </tr>        }    </table></div><p>    @HTML.Actionlink("Edit","Edit",new { ID = Model.StudentID }) |    @HTML.Actionlink("Back to List","Index")</p>

在第一行有模型和模型.我很确定模特
指的是项目根目录中的“Models”文件夹.

在那里有几行@ HTML.displaynameFor(model => model.Lastname),里面有模型.这个与第一行中的模型有什么不同?

然后再次出现@foreach(Model.Enrollments中的var项),其中包括Model,现在这个不以“s”结尾,所以我认为它不是指项目根目录中的Models文件夹.那是什么?

还有modelitem,我不确定它只是一个参数还是指这个类中的东西.

最后一个是@ HTML.Actionlink(“编辑”,“编辑”,新{ID = Model.StudentID})
,它类似于foreach中使用的那个,这指的是同一个东西吗?

解决方法 此@model Efdbfirst.Models.Student声明此视图中使用的模型是Student.

在您查看的内部,您可以使用模型参考您的模型.因此,如果您想要迭代已传递给此视图的学生对象的注册,则只需执行以下 *** 作:

@foreach(var enrollment in Model.Enrollments){}

对此,@ HTML.displaynameFor(model => model.Lastname)这是一个HTML帮助器,在这种情况下将为您创建一个名为Lastname的模型属性的标签.

关于HTML助手,请看看here.此外,你可以传递给这个帮手:

@HTML.displaynameFor(m => m.Lastname)

或这一行:

@HTML.displaynameFor(x => x.Lastname)

你使用模型并不重要.这只是对传递给VIEw的模型的引用.

最后但同样重要的是,@ HTML.Actionlink(“编辑”,新的{ID = Model.StudentID})也是一个创建HTML链接的HTML助手.

总结

以上是内存溢出为你收集整理的c# – 对ASP.NET视图中的“模型”含义感到困惑全部内容,希望文章能够帮你解决c# – 对ASP.NET视图中的“模型”含义感到困惑所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/1220910.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存