0

ModellRemote-Attribut arbeiten und cuase die anderen nicht auch funktionieren in Windows Server 2012

-Controller

public class UserController : BaseController 
{ 
    public ActionResult ValidateUserNameDuplicationOperation(string UserName, string InitialValue) 
    { 
     if (UserName == InitialValue) 
      return Json(true); 
     bool result = _TicketServiceWrapper.UserNameExists(UserName); 
     return Json(!result, JsonRequestBehavior.AllowGet); 
    } 
} 

Ansicht

@model DCC.UI.Web.Model.User.UserEntityViewModel 
<div class="modal-content"> 
    @using (Html.BeginForm(Model.ID.HasValue ? "Edit" : "Create", "User", FormMethod.Post, new { autocomplete = "off" })) 
    { 
     @Html.AntiForgeryToken() 
     @Html.ValidationSummary(true) 
     <div class="cotainer-fluid"> 
      <div class="modal-body"> 

        @if (Model.ID.HasValue) 
        { 
         @Html.HiddenFor(m => m.ID) 
         @Html.Hidden("InitialValue", Model.UserName) 
        } 

       <div class="form-group"> 

        @Html.LabelFor(m => m.UserName) 

        @Html.TextBoxFor(m => m.UserName, new { @class = "form-control", value = "", autocomplete = "off" }) 
        @Html.ValidationMessageFor(m => m.UserName) 
       </div> 
       <div class="form-group"> 

        @Html.LabelFor(m => m.Password) 

        <input style="display:none" type="text" name="fakeusernameremembered" /> 
        <input style="display:none" type="password" name="fakepasswordremembered" /> 
        @Html.PasswordFor(m => m.Password, new { @class = "form-control", data_val = Model.ID.HasValue ? "false" : "true", value = "", autocomplete = "off" }) 

        @if (!Model.ID.HasValue) 
        { 
         @Html.ValidationMessageFor(m => m.Password) 
        } 
       </div> 

      </div> 
      <div class="modal-footer"> 
       <button type="button" class="btn btn-default" data-dismiss="modal">@Resources.Close</button> 
       <button id="submitNewRole" type="submit" class="btn btn-primary">@Resources.Save</button> 
      </div> 
     </div> 
    } 
</div> 
@section Scripts { 
    @Scripts.Render("~/bundles/jqueryval") 
} 

Hallo!

Im Benutzerformular gibt es eine Schaltfläche zum Öffnen eines Bootstrap-Dialogs zum Erstellen eines neuen Benutzers und ich möchte die Eindeutigkeit des Feldes 'UserName' erfüllen, so dass ich ein Remote-Attribut zum Feld UserName hinzufüge. In der Entwicklungsumgebung funktionieren alle Dinge gut, sogar ich veröffentliche die Website in der Entwicklungsumgebung IIS und wieder alle Dinge funktionieren gut, dies ist ein Schnappschuss von 'Create New User Dialog' und der HTML, den der Ajax Aufruf in den Dialog füllt:

<div class="form-group"> 

<label for="UserName">User Name</label> 

<input autocomplete="off" class="form-control" data-val="true" data-val-remote="This Value Already Exists." data-val-remote-additionalfields="*.UserName,*.InitialValue" data-val-remote-url="/User/ValidateUserNameDuplicationOperation" data-val-required="This Field Is Required." id="UserName" name="UserName" type="text" value=""> 
<span class="field-validation-valid" data-valmsg-for="UserName" data-valmsg-replace="true"></span> 
</div> 

The image of successful path

so wie ich fein alle Dinge gesagt arbeiten, bedeutet dies für Username Feld der Required, Display und Remote-Attribute funktionieren und für das Feld Kennwort Required und Anzeigeattribute funktionieren.

ABER

Das Problem ist, wenn ich die Website in die Produktionsumgebung (Windows Server 2012) das Remote-Attribut veröffentliche nicht funktioniert und auch die anderen Attribute für Usernamen verursacht nicht wie die Anzeige und zur Arbeit benötigt und Veranstaltung der hTML-Code, der ajax-Aufruf für den Benutzernamen erhalten Abgelegt ist anders:

<div class="form-group"> 

<label for="UserName">UserName</label> 

<input autocomplete="off" class="form-control valid" id="UserName" name="UserName" type="text" value="" aria-invalid="false"> 
<span class="field-validation-valid" data-valmsg-for="UserName" data-valmsg-replace="true"></span> 
</div> 

The Image for unsuccessful path

Es gibt nichts in der Entwickler-Option des Browsers, keine Fehler !! Ich versuche sogar, die Einstellungen von IIS in beiden Umgebungen zu vergleichen, aber ich konnte nichts finden.

Es ist so komisch zu mir, ich fange an, eine Frage zu schreiben.

Bitte Hilfe!

Mit freundlichen Grüßen!

Antwort

0

Das Problem, das durch nicht übereinstimmende Baugruppenversion verursacht wird.

Die 'Usercontroller' ist in 'UI.Web' Projekt und eine Referenz

System.Web.Mvc, Version = 4.0.0.0 wird hinzugefügt und

Die 'UserEntityViewModel' ist in ' Modell 'Projekt und eine Referenz von

System.Web.Mvc, Version = 4.0.0.1 DURCH FEHLER hinzugefügt wird.

und leider gibt es keinen Kompilierfehler über Versionskonflikt oder sogar einen Fehler in der Debugzeit.

Verwandte Themen