views:

81

answers:

1

I am using the following partial to render the editor for the Create and Edit pages:

PersonEditor.ascx

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MyProj.ViewModels.PersonEditorViewModel>" %>

<script src="../../Scripts/MicrosoftAjax.js" type="text/javascript" />
<script src="../../Scripts/MicrosoftMvcValidation.js" type="text/javascript" />

<%  Html.EnableClientValidation(); %>
<%  using (Html.BeginForm())
    {
%>
        <%= Html.ValidationSummary("Edit was unsuccessful. Please correct the errors and try again.") %>
        <%= Html.EditorForModel()%>
        <p>
            <input type="submit" value="Save" />
        </p>
<%
    }
%>

I believe I have followed the instructions correctly on Scott Gu's blog post (see "Enabling Client-Side Validation"), but when I load this page in a browser, the entire editor form vanishes. If I remove the two scripts and Html.EnableClientValidation(), everything is back to normal again (except, of course, there is no client-side validation).

I have tried putting the script tags in the master page, but that made no difference.

Any ideas how I might be able to fix this?

Update

If I put the two script tags in Site.Master instead of the partial, everything disappears. It basically makes my app completely invisible. No errors, though. It just loads a blank page.

+2  A: 

Your script tags are:

  1. Different than what is in the blog post you reference, and
  2. Incorrect.

They should be:

<script src="../../Scripts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="../../Scripts/MicrosoftMvcValidation.js" type="text/javascript"></script>
Craig Stuntz
That was the problem. Thank you very much!
DanM