小编Tim*_*een的帖子

@ Html.BeginForm在页面上显示"System.Web.Mvc.Html.MvcForm"

我有一个剃刀视图,我在一个'if'语句中添加了一个删除按钮,当在浏览器中呈现视图时,它在删除按钮旁边显示"System.Web.Mvc.Html.MvcForm".

我怎么摆脱它?

这是代码:

<div id="deletestatusupdate">
    @if (update.User.UserName.Equals(User.Identity.Name, StringComparison.OrdinalIgnoreCase))
    {
        @Html.BeginForm("deleteupdate", "home")
        @Html.Hidden("returnUrl", Request.Url.ToString())
        <button name="id" value="@update.StatusUpdateId">Delete</button>
    }
</div>
Run Code Online (Sandbox Code Playgroud)

以下是它在渲染的Razor视图中的显示方式:

System.Web.Mvc.Html.MvcForm [删除按钮]

假装[删除按钮]是一个实际的按钮,不喜欢拍摄屏幕.

谢谢您的帮助.

html.beginform razor asp.net-mvc-3

95
推荐指数
2
解决办法
4万
查看次数

使用实体框架(.edmx模型)和Razor视图创建MVC3的下拉列表&&将数据库记录插入多个表

在阅读了有关如何使用Razor Views在MVC 3中创建DropDown列表的100篇文章后,我找不到适合我的情况.

情况: 我最终尝试创建一个将员工添加到数据库的视图.

这是我正在使用的.EDMX模型的图像(create()将使用的表.):

在此输入图像描述

目标:

  1. 创建一个Employee(我有使用部分视图为StaffNotify复选框创建的Create.cshtml(强类型)){我在创建视图的Notify部分视图中使用单独的@model,不确定这是否安全??? @model ShadowVenue.Models.Employee&@model ShadowVenue.Models.StaffNotify)

  2. 为StaffTypeId创建一个下拉框(它将从表"StaffType"中插入[StaffTypeId]值(其具有1对多的关系),但会在下拉列表中显示[Type]字符串值)

  3. 为GenderId创建一个下拉框(将从表"Genders"中插入[GenderId]值(具有1对多的关系),但会在下拉列表中显示[Gender]字符串值)

  4. 将记录插入数据库(我在StaffId主键上具有1对1关系的单独表中具有员工通知)

我似乎遇到了控制器代码的问题.

我不确定我是否应该在EDMX模型中创建存储过程,或者提出一些查询或方法语法,不确定哪种方法最好.

这是我使用实体框架模型的第一个大型MVC3应用程序.

(如果您需要知道任何导航属性名称以帮助解决方案,请告诉我,我会将它们提供给您)

entity-framework edmx html.dropdownlistfor razor asp.net-mvc-3

49
推荐指数
2
解决办法
14万
查看次数

MVC3&Razor - 在文本框中将日期字符串从"mm/dd/yyyy 12:00:00 AM"更改为"mm/dd/yyy"

我试图阻止时间显示在使用DateTime的生日文本字段中

我的代码:(我正在使用Jquery DatePicker)

<label for="birthday">Birthday:</label>
            @Html.TextBox("birthday", (Model.Birthday.ToString()), new { @class = "datePicker" })
Run Code Online (Sandbox Code Playgroud)

Javascript:

$(document).ready(function () {
    $('.datePicker').datepicker({ showOn: 'both', buttonImage: "/content/images/calendar-red.gif" });
});
Run Code Online (Sandbox Code Playgroud)

我有日期的模型设置:

[DataType(DataType.Date)]
public DateTime? Birthday { get; set; }
Run Code Online (Sandbox Code Playgroud)

仍然文本框中的文本显示:

"8/21/2010 12:00:00 AM"

我希望文本框中的文本显示为:

"2010年8月21日"

我尝试了以下所有方面:

@inherits System.Web.Mvc.WebViewPage<System.DateTime>
Run Code Online (Sandbox Code Playgroud)

但是不要让我这样做,因为我正在使用模特

datetime html.textbox razor asp.net-mvc-3

13
推荐指数
1
解决办法
3万
查看次数

用于Edit()[Razor]视图的DropDown,预先加载来自模型的数据

我的Create()视图中的下拉列表工作完美.

但是在Edit()视图中,我无法获取在Create()期间提交的数据,以便在DropDowns中显示,并在Create()上输入值

我现在只有文本框,并且非常希望在下拉列表中显示数据代表以便于选择.

这是一个例子:

Create()View - 一个下拉列表用于EmployeeTypes,另一个下拉列表选择为EmployeeTypeId

现在我如何在Edit()视图中显示相同的下拉列表,但是已经选择了EmployeeId值?


我有一个用于Create()视图的EmployeeViewModel

但我只是将模型直接传递给Edit()视图

我应该为Edit()视图创建某种Employee"partial class"吗?处理IEnumerable列表?

并设置:

var employeeTypes = context.EmployeeTypes.Select(et => new SelectListItem
            {
                Value = et.EmployeeTypeId.ToString(),
                Text = et.Type.ToString()
            });
Run Code Online (Sandbox Code Playgroud)

或者我应该将它们作为ViewData传递?

如果是这样,你怎么做一个List作为ViewData并让它显示为@ Html.DropDownList与从@Model传入的值作为defualt值?

razor c#-4.0 asp.net-mvc-3 drop-down-menu

2
推荐指数
1
解决办法
1万
查看次数