【问题标题】:Html.BeginForm - HTTP POST method - VB.NET 2012 MVC 4 Visual StudioHtml.BeginForm - HTTP POST 方法 - VB.NET 2012 MVC 4 Visual Studio
【发布时间】:2012-10-28 02:07:32
【问题描述】:

重点是 "controllerName As String" - Html.BeginForm 函数的一部分。

HTML:

root/Views/Home/Therequestform.vbhtml

    <h2>Therequestform</h2>

@Html.BeginForm("Therequest", "Home", method:= FormMethod.Post)

    <fieldset>
        <input type="text" name="ColorName" />
        <input type="submit" name="ColorName_SubmitButton" />
    </fieldset>

控制器:

root/Controllers/HomeController.vb

Function Therequestform() As ActionResult

    Return View()

End Function


    <HttpPost()>
    Function Therequest() As ActionResult

        Response.Write("The color you have submitted: " & Request.Form("ColorName"))

        Return View()
    End Function


End Class

问题:

编辑:对视图的调用是在对 HTTP POST 方法的请求调用之上完成的,该方法在控制器中具有“请求”功能。

ControllerName 的引用已在Html.BeginForm 的第二部分完成,而在Html.BeginForm 的第一部分对调用requestHTTP POST method 的函数的引用已完成.

我遇到的问题是,在按下submit button 之后,对函数的调用(在控制器中)没有在设置的位置完成。在按下“提交按钮”后出现以下错误消息:


应用程序中的服务器错误。 未找到视图“请求”或其主视图,或者没有视图引擎支持搜索的位置。搜索了以下位置:

说明:在执行过程中发生未处理的异常 当前的网络请求。请查看堆栈跟踪以获取更多信息 有关错误的信息以及它在代码中的来源。

异常详情: System.InvalidOperationException:视图 未找到“请求”或其主人或没有视图引擎支持 搜索到的位置。搜索了以下位置:

~/Views/Home/Therequest.aspx

~/Views/Home/Therequest.ascx

~/Views/Shared/Therequest.aspx

~/Views/Shared/Therequest.ascx

~/Views/Home/Therequest.cshtml

~/Views/Home/Therequest.vbhtml

~/Views/Shared/Therequest.cshtml

~/Views/Shared/Therequest.vbhtml

源错误:在执行过程中产生了一个未处理的异常 当前的网络请求。有关原产地和位置的信息 可以使用下面的异常堆栈跟踪来识别异常。


“搜索”或“呼叫”set 位置完成。其中通过Html.BeginForm的参数数组,设置了executed函数名,同时设置了controllerName——设置为(root/Controllers /HomeController.vb) - 在第三部分中方法设置为POST

问题是,是什么导致没有在设置的位置进行调用?


使用的工具: VB.NET 2012、MVC 4、Visual Studio 2012、Microsoft SQL Server 2012

【问题讨论】:

    标签: .net vb.net visual-studio asp.net-mvc-4


    【解决方案1】:

    它正在尝试渲染名为 Therequest.vbhtml 的视图,而您的视图名为 Therequestform.vbhtml

    将视图名称更改为Therequest.vbhtml 或将控制器名称更改为Therequestform 以及所有引用它的地方

    【讨论】:

    • 非常感谢。我已经让它工作了。我将仔细研究这些连接是如何完成的。这会是可以使用 returnUrl 的时刻吗?那么,在页面加载时,打印输出发生在包含表单的页面上?或许,这也是“命名约定”?公约:关于基本原则或程序的一般协议; (来源:梅里亚姆-韦氏词典)
    • 我不确定我是否在关注这个问题
    • 我可以说,它是 just function 这样命名的,而 Return 返回 Viewfunction's name。我将继续思考这个问题,重点放在连接上——我认为View 也可以用不同的方式调用。最后一个问题也针对该问题,我要对此问题发表评论。
    • 您似乎对 MVC 框架的工作原理缺乏一些基本的了解。我建议你看类似this
    • 本例中的模型被跳过。有两个函数,一个单独调用视图不起作用,因为这些函数将具有相同的名称“请求”。以不同方式调用视图是后一个问题的内容。请求 HTTP POST 方法后的视图确实发生,在按下 submit button 之后,但我无法在评论部分将其定义为简洁,所以我将离开。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-06
    • 1970-01-01
    相关资源
    最近更新 更多