c#MVC:ajax在从ajax actionlink调用后不工作
c#MVC:ajax在从ajax actionlink调用后不工作,c#,ajax,asp.net-mvc,actionlink,C#,Ajax,Asp.net Mvc,Actionlink,我对调用ajax.actionlink有问题。 在索引视图中,我有两个按钮。默认情况下,TestController和ajax.beginform中的调用编辑器方法工作正常,如果我单击超链接(ajax)切换视图,然后单击其他超链接使用beginform返回到上一个视图,则beginform不工作。为什么以及如何解决这个问题?代码如下 索引视图 <head> <meta name="viewport" content="width=device-width"/>
我对调用ajax.actionlink有问题。 在索引视图中,我有两个按钮。默认情况下,TestController和ajax.beginform中的调用编辑器方法工作正常,如果我单击超链接(ajax)切换视图,然后单击其他超链接使用beginform返回到上一个视图,则beginform不工作。为什么以及如何解决这个问题?代码如下 索引视图
<head>
<meta name="viewport" content="width=device-width"/>
<title> Test? </title>
<link href="~/Content/Admin/css/bootstrap.min.css" rel="stylesheet">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
</head>
<body>
@Ajax.ActionLink( "T1", "Editor", "Test", new AjaxOptions(){ UpdateTargetId = "ii2" } )
@Ajax.ActionLink( "T2", "Test1", "Test2", new AjaxOptions() { UpdateTargetId = "ii2" })
<div id="ii2">
</div>
</body>
测试?
@ActionLink(“T1”、“编辑器”、“测试”、新的AjaxOptions(){UpdateTargetId=“ii2”})
@ActionLink(“T2”、“Test1”、“Test2”、新的AjaxOptions(){UpdateTargetId=“ii2”})
编辑器视图
<table>
<thead>
<tr>
<th> index </th>
<th> name </th>
<th> action </th>
</tr>
</thead>
<tbody id="iTest1" >
@Html.Action( "Table", "Test" )
</tbody>
<tfoot>
<tr>
@Html.Action( "TableAdd", "Test" )
</tr>
</tfoot>
</table>
指数
名称
行动
@动作(“表”,“测试”)
@动作(“TableAdd”,“Test”)
表视图
@using Domain.Entity
@model IEnumerable<Domain.Entity.Language>
@foreach (Language l in Model)
{
<tr>
<td> @l.Index </td>
<td> @l.Name </td>
<td> </td>
</tr>
}
@使用Domain.Entity
@模型IEnumerable
@foreach(模型中的语言l)
{
@l、 索引
@l、 名字
}
TableAdd视图
@model Domain.Entity.Language
@using (Ajax.BeginForm( "Add", "Test", new AjaxOptions() { UpdateTargetId = "iTest1" }))
{
<th> @Html.TextBoxFor(x => x.Index) </th>
<th> @Html.TextBoxFor(x => x.Name) </th>
<th> <input type="submit" value="submit"/> </th>
}
@model Domain.Entity.Language
@使用(Ajax.BeginForm(“添加”、“测试”、新的AjaxOptions(){UpdateTargetId=“iTest1”}))
{
@Html.TextBoxFor(x=>x.Index)
@Html.TextBoxFor(x=>x.Name)
}
测试控制器
public class TestController : Controller
{
private ILanguageRepository _repository = null;
public TestController(ILanguageRepository repository)
{
_repository = repository;
}
public ActionResult Index()
{
return View( );
}
public ActionResult Editor()
{
return PartialView( "Editor" );
}
public ActionResult Add(Language l)
{
_repository.Add( l, true );
return Table();
}
public ActionResult Table(IEnumerable<Language> items = null)
{
if (items == null)
items = _repository.Languages;
return PartialView( "Table", items );
}
public ActionResult TableAdd( Language item )
{
return PartialView("TableAdd", item);
}
}
公共类TestController:Controller
{
私有ILanguageRepository_repository=null;
公共TestController(ILanguagerRepository存储库)
{
_存储库=存储库;
}
公共行动结果索引()
{
返回视图();
}
公共操作结果编辑器()
{
返回PartialView(“编辑”);
}
公共行动结果添加(语言l)
{
_Add(l,true);
返回表();
}
公共操作结果表(IEnumerable items=null)
{
if(items==null)
items=\u repository.Languages;
返回部分视图(“表格”,项目);
}
公共行动结果表添加(语言项)
{
返回部分视图(“表格添加”,项目);
}
}
你说的“不工作”是什么意思?不工作的是什么?你期望发生什么?实际发生了什么?您遇到了什么错误?视图通常在更改后显示,但如果我在“开始”窗体中单击“提交”,则什么也不会发生,例如“空”按钮@neuser,您的问题令人困惑。索引上有2个链接。单击一个,它将带您进入编辑器视图。编辑器视图具有窗体。你说表单第一次有效,但第二次无效。我说得对吗?您第二次是如何进入表单的?是的,在第二次调用同一视图时,beginform不工作我编辑了ask,第一次生成了空标记:,如果我单击ajax actionlink T1,则将生成带有beginform的视图,如果我单击submit,然后什么都没发生你说的什么意思然后开始不工作什么不工作?你期望发生什么,实际发生了什么?您遇到了什么错误?视图通常在更改后显示,但如果我在“开始”窗体中单击“提交”,则什么也不会发生,例如“空”按钮@neuser,您的问题令人困惑。索引上有2个链接。单击一个,它将带您进入编辑器视图。编辑器视图具有窗体。你说表单第一次有效,但第二次无效。我说得对吗?您第二次是如何进入表单的?是的,在第二次调用同一个视图时,beginform不工作我编辑了ask,第一次生成了空标记:,如果我单击ajax actionlink T1,则将生成带有beginform的视图,如果我单击submit,则不会发生任何事情