ASP.NET MVC5检查ID是否设置为C#

ASP.NET MVC5检查ID是否设置为C#,asp.net,hyperlink,asp.net-mvc-5,readonly,Asp.net,Hyperlink,Asp.net Mvc 5,Readonly,我在asp.net mvc5视图中工作,如何知道id是否写在文本框中,在这里,如何知道id是否写在这里,并保存该值以供其他使用???如何知道文本框中是否已经设置了id?您使用的if条件错误: 而不是写作 @if (Html.EditorFor(model => model.Id) !=null){ SHOW id} 写 您可以在此处阅读更多关于条件句的信息- UPD您可以使用javascript动态显示用户编写的文本。这里有一个关于如何使用jQuery的好例子- @EditorFor

我在asp.net mvc5视图中工作,如何知道id是否写在文本框中,在这里,如何知道id是否写在这里,并保存该值以供其他使用???如何知道文本框中是否已经设置了id?

您使用的if条件错误:

而不是写作

@if (Html.EditorFor(model => model.Id) !=null){  SHOW id}

您可以在此处阅读更多关于条件句的信息-

UPD您可以使用javascript动态显示用户编写的文本。这里有一个关于如何使用jQuery的好例子-


@EditorFor(model=>model.Id)
$('#Id')。更改(函数(){
//将值设置到标签中
});

请整理您的问题并澄清。你不断重复自己的话,格式很差。@ADyson谢谢,先生,我已经编辑了这个问题,请不要使用大写字母,这被认为是在网上写的叫喊,有些人可能会认为这很粗鲁。我会原谅你,因为我认为你不知道:-)无论如何,为了回答你的问题,我想你是在问验证规则?是否希望在Id字段未完成时显示错误?我不确定,你的措辞不清楚。尽量说得更具体些。无论如何,请出示你的模型课。您是否在ID字段上设置了
[Required]
属性?您好,先生,让我们暂且不谈模型验证,我只想知道用户是否已经在ID编辑器字段中写入了内容,例如,如果他在ti上写入了HAHAHA,我想将该值HAHAHA保存到一个变量中,以用于其他内容。。ID是一个字符串..我只想在创建视图中显示HAHAHA作为只读字段先生,让我们再次澄清,我在创建视图中,所以我将要创建一个不存在且没有ID的新实体,让我们假设用户正在填充视图ID标题中的所有字段,等等,我希望能够立即这样做,如果用户在ID编辑器字段中写入了一些内容,ID是一个字符串,假设他将HAHAHA作为ID写入,现在我想让该值具有“HAHAHA”并在视图中显示为只读文本..因此在create视图@if(Html.EditorFor(model=>model.ID)!=null){显示用户在ID字段中写入的内容}@tringatringa这应该是你问题的文本,更清楚。你不能用Razor做这项工作,因为Razor只在页面加载之前运行(它是用来构建最终页面的)。如果您想在用户向字段中输入文本时执行某些操作,那么您需要一些Javascript来检测用户何时完成在框中的写入(即当它失去焦点时),获取字段的内容并将其写入标签中。顺便说一句,如果你正在创建一个实体,数据库应该设置它的ID,而不是用户,否则你不能保证唯一的ID。非常感谢先生解释这一点,很抱歉我的英语不好:$。您能解释一下如何通过javascript实现这一点吗?我想在视图中创建一个链接,如下所示(动态):@Html.ActionLink(“Details1”,“Details1”,new{id=Model.id}),该id自动填充用户在id字段中写入的文本,id是一个字符串,让我们稍微忘记验证,constratins等:)“在视图中创建如下链接(动态):@Html.ActionLink(“Details1”,“Details1”,new{id=Model.id})”。你为什么想要这个??在您提交表单并保存它之前,该实体不存在,因此,如果您创建了该链接,则该链接将不会指向任何地方。再说一次,你不能保证现在这个ID还没有被另一个以前存在的实体所使用,所以这是一个坏主意。然而,如果你坚持这个有缺陷的设计,这个答案的编辑将为你提供如何检测字段何时被修改的方法。嗯,你用这个解释说服了我,我将在这里结束这个讨论,非常感谢
@if (model.Id != null) { 
 display Id here
}
 <div class="editor-field">
     @Html.EditorFor(model => model.Id)
  </div>

<script type="text/javascript">
    $('#Id').change(function () {
        // set value into label
    });
</script>