当前位置: 首页 > 面试题库 >

调用控制器方法,该方法从Asp.net视图页面返回带有Ajax调用的视图

邓翼
2023-03-14
问题内容

我有按钮。我想在单击按钮时路由新视图。该按钮如下所示:

<button type="button" id="btnSearch" class="btn btn-warning" style="height:35px;width:120px"> <i class="fa fa-search" aria-hidden="true"></i> <translate>Search</translate> </button>

单击按钮时,将运行以下方法:

$('#btnSearch').click(function () {
        return $.ajax({
            url: '@Url.Action("test", "ControllerName")',
            data: { Name: $('#Name').val() },
            type: 'POST',
            dataType: 'html'
        });
    });

我的控制器动作如下:

   public ActionResult test(string CityName) {
            ViewBag.CityName = CityName;
            return View();
                          }

当我调试程序时,流程进入了我的控制器动作。但是索引网页不会路由到测试视图页面。没有发生错误。在这种状态下我该怎么办?


问题答案:

如果要刷新页面:

控制器:

public ActionResult Index()
{            
    return View();
}

public ViewResult Test()
{
    ViewBag.Name = Request["txtName"];
    return View();
}

Index.cshtml:

@using (Html.BeginForm("Test", "Home", FormMethod.Post ))
{
    <input type="submit" id="btnSearch" class="btn btn-warning" style="height:35px;width:120px" value="Search"/> 
    <label>Name:</label><input type="text" id="txtName" name="txtName" />
}

Test.cshtml:

@ViewBag.Name

============================================

如果您不想刷新页面:

控制器:

public ActionResult Index()
{            
    return View();
}

[HttpPost]
public PartialViewResult TestAjax(string Name)
{
    ViewBag.Name = Name;
    return PartialView();
}

Index.cshtml:

<input type="button" id="btnSearch" class="btn btn-warning" style="height:35px;width:120px" value="Search"/> 
<label>Name:</label><input type="text" id="txtName" name="txtName" />


<script>
$('#btnSearch').click(function () {
    $.ajax({
        url: '@Url.Action("TestAjax", "Home")',
        data: { Name: $("#txtName").val() },
        type: 'POST',
        success: function (data) {
            $("#divContent").html(data);
        }
    });
});
</script>

TestAjax.cshtml:

@ViewBag.Name


 类似资料:
  • 问题内容: 我知道这是一个非常基本的问题。 但是您能否告诉我 所有可用的选项 , 从Razor View 调用“ 控制操作方法” [通常是任何服务器端例程] , 以及哪种 情况最适合 用于哪种 情况 。 谢谢。 问题答案: 方法1: 使用jQuery Ajax Get调用( 部分页面更新 )。 适用于需要从数据库检索jSon数据的情况。 管制员的行动方法 jQuery GET 人类 方法2: 使用

  • 我正在尝试将子视图控制器添加到父视图控制器,并让父视图控制器通知子视图控制器旋转事件。但是,旋转消息不会转发到子视图控制器(这是默认行为)。为什么没有发生这种默认行为? 环境:iOS 7、XCode 5、OSX 10.9 我正在按照Apple文档中的说明实现一个自定义容器视图控制器:“创建自定义容器视图控制器”。我试图建立一个简单的父子关系来转发旋转事件。总体层次结构与此处重新绘制的文档图14-1

  • 我试图从xml配置转移到java配置。应用程序启动时不会出现任何错误,但是当内容不同时,jsp返回$END$。 我相信我在某个地方犯了一些愚蠢的错误,没有抛出异常 注意:使用xml配置时,一切正常 配置类 初始值设定项类 控制器

  • 我对JSF有一个非常奇怪的问题,但我不能自己解决它,因为没有错误消息我可以谷歌搜索。问题是,我有一个视图提交一个新的文章或更新一个现有的文章。 方法getArticle()返回-if?id=x是通过url设置的-id为x的文章POJO。否则,一个纯粹的空的新文章。根据设置的id,模式editArticle被设置为true或false。 我使用了BalusC的检查表(在JSF中没有调用action方

  • 所以我得到了两个都在同一activity的视图。我正在使用但是,我无法调用在uiview中定义的公共方法... 我对AndroidStudio还很陌生,我在这里发现的只是不同的类,而不是观点。 非常感谢!

  • 问题内容: 我使用jquery发出ajax请求,这将调用以下spring控制器: 但是我收到以下错误: 如果需要,这里是我使用jQuery进行的ajax调用: 编辑 如果使用以下命令,则会出现相同的错误: 问题答案: 对于在家的观众…我发现问题是由于控制器中定义的方法签名与ajax调用不匹配。我从控制器方法中删除了参数。然后,我还意识到我还必须返回新的模型和视图。这是工作代码: 我更改为ajax调