Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc Razor视图,如何禁用@htmlEdittorFor或根据模型Id使其就绪_Asp.net Mvc_Asp.net Mvc 4_Razor_Html Helper_Disabled Input - Fatal编程技术网

Asp.net mvc Razor视图,如何禁用@htmlEdittorFor或根据模型Id使其就绪

Asp.net mvc Razor视图,如何禁用@htmlEdittorFor或根据模型Id使其就绪,asp.net-mvc,asp.net-mvc-4,razor,html-helper,disabled-input,Asp.net Mvc,Asp.net Mvc 4,Razor,Html Helper,Disabled Input,我想有条件地禁用此按钮,或将其设置为只读,以便用户可以看到框或文本中显示的数据,但无法进行任何编辑。我已尝试了许多步骤来解决此问题,但如果您查看下面的代码,似乎什么都不起作用 有谁能给我提个建议或想出解决这个问题的办法吗。 先谢谢你 @if(Model.Promotion.PromotionID==209) { @DisplayFor(model=>model.Promotion.PromotionTitle) } 其他的 { @LabelFor(model=>model.Promotion

我想有条件地禁用此按钮,或将其设置为只读,以便用户可以看到框或文本中显示的数据,但无法进行任何编辑。我已尝试了许多步骤来解决此问题,但如果您查看下面的代码,似乎什么都不起作用

有谁能给我提个建议或想出解决这个问题的办法吗。 先谢谢你


@if(Model.Promotion.PromotionID==209)
{
@DisplayFor(model=>model.Promotion.PromotionTitle)
}
其他的
{
@LabelFor(model=>model.Promotion.PromotionTitle)
@EditorFor(model=>model.Promotion.PromotionTitle)
@Html.ValidationMessageFor(model=>model.Promotion.PromotionTitle)
@LabelFor(model=>model.Promotion.ArtworkDate)
@Html.TextBoxFor(model=>model.Promotion.ArtworkDate,“{0:dd/MMM/yyyy}”,new{@id=“ArtworkDate”,@class=“date”})
@Html.ValidationMessageFor(model=>model.Promotion.ArtworkDate)

您可以使用@Html.DisplayFor来解决您的问题,或者您可以使用jquery启用、禁用属性以使textboxe只读

您所指的按钮是什么?什么不起作用?您希望发生什么以及实际发生什么?(并删除无效的
@((Model.Promotion.PromotionID==209)?“禁用”:“
code)@StephenMuecke再次检查我的帖子我包括了一个图像作为例子。我指的是所有的html编辑和文本框,当用户打开已经生成数据的页面文本框时,它允许用户编辑数据和更改。现在我想要的是当Proomation标题等于209时,我不希望用户在中编辑数据文本我只希望用户只看到数据,但不能编辑数据。这对您现在有意义吗?这就是
if
块中的代码所做的-至少对于这一个属性-只需添加
DisplayNameFor()和
DisplayFor()对于每个属性。@StephenMuecke最好在我做你建议的事情时发布你所说的代码,并且通过发布代码仍然得到相同的问题。也许它会突出我做错的事情我的代码什么“问题”?你仍然没有解释你期望发生的事情和实际发生的事情?我解决了我的问题lem通过编写一些jquery函数,谢谢
<div class="inline-block-side">
    @if (Model.Promotion.PromotionID == 209)
    {
        @Html.DisplayFor(model => model.Promotion.PromotionTitle) 
    }
    else
    {
        <div class="editor-label">
            @Html.LabelFor(model => model.Promotion.PromotionTitle)
        </div>              
        <div class="editor-field" title="The name of the Promotion"  @((Model.Promotion.PromotionID == 209) ? "disabled" : "")>
            @Html.EditorFor(model => model.Promotion.PromotionTitle)
            @Html.ValidationMessageFor(model => model.Promotion.PromotionTitle)
        </div>                    
        <div class="editor-label">
            @Html.LabelFor(model => model.Promotion.ArtworkDate)
        </div>
        <div class="editor-field" title="The date the Artwork is to be recieved by">
            @Html.TextBoxFor(model => model.Promotion.ArtworkDate, "{0:dd/MMM/yyyy}", new { @id = "ArtworkDate", @class = "date" })
            @Html.ValidationMessageFor(model => model.Promotion.ArtworkDate)  
        </div>