Hallo zusammen,
ich programmiere zurzeit asp.net mvc Seite.
Ich versuche auf dieser Site AJAX einzubinden.
Bei Überprüfung, ob das eine Ajax-Anfrage ist, kommt bei mir immer false als Ergebnis. ->
Im Controller "Edit" ist die Abfrage "if (Request.IsAjaxRequest())" immer false.
Ich suche den Fehler schon seit paar Tagen , aber alles erfolglos.
Kann mir jemand helfen
Ich verwende asp mvc 2 und Visual Studio 2008
Das ist meine View
Das meine Partial View "EditForm"
Und das mein Controller
ich programmiere zurzeit asp.net mvc Seite.
Ich versuche auf dieser Site AJAX einzubinden.
Bei Überprüfung, ob das eine Ajax-Anfrage ist, kommt bei mir immer false als Ergebnis. ->
Im Controller "Edit" ist die Abfrage "if (Request.IsAjaxRequest())" immer false.
Ich suche den Fehler schon seit paar Tagen , aber alles erfolglos.
Kann mir jemand helfen
Ich verwende asp mvc 2 und Visual Studio 2008
Das ist meine View
Code:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>
<%@ Register Assembly="System.Web.Ajax" Namespace="System.Web.UI" TagPrefix="asp" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Edit
</asp:Content>
<asp:Content ContentPlaceHolderID="Header" runat="server">
<script src="<%=Url.Content("~/Scripts/MicrosoftAjax.js") %>" type="text/javascript"></script>
<script src="<%=Url.Content("~/Scripts/MicrosoftMvcAjax.js") %>" type="text/javascript"></script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>
<%= ViewData["title"] %>
</h2>
<script type="text/javascript">
function ajaxSuccess() {
alert('Success');
}
}
</script>
<p>
<% = Html.ValidationSummary()%>
</p>
<% using (Ajax.BeginForm(new AjaxOptions { UpdateTargetId = "ajaxDiv", OnSuccess = "ajaxSuccess" }))
{%>
<div id="ajaxDiv">
<%Html.RenderPartial("EditForm"); %>
</div>
</asp:Content>
Das meine Partial View "EditForm"
Code:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<table border="0" cellspacing="0" cellpadding="0" width="40%">
<tr>
<th>
Name
</th>
<td>
<% = Html.TextBox("Name", null, new { style = "width: 400px" })%>
</td>
</tr>
<tr>
<th>
Beschreibung
</th>
<td>
<% = Html.TextArea("Description", new { @class = "TextAreaLong" })%>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="Speichern" />
</td>
</tr>
</table>
Und das mein Controller
Code:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(RoleInfo _role)
{
ViewData["Title"] = "Rolle bearbeiten";
if (ModelState.IsValid)
{
Role role = new Role();
role.ID = _role.ID;
role.Name = _role.Name;
role.Description = _role.Description;
_dataManager.Role.UpdateRole(role);
if(Request.IsAjaxRequest())
{
return PartialView("EditForm");
}
return RedirectToAction("RoleList");
}
if (Request.IsAjaxRequest())
{
return PartialView("EditForm");
}
return View();
}