繁体   English   中英

在 View 中调用控制器方法

[英]Call controller methods inside View

我有一个视图,想在其中执行一些控制器方法。

第一种方法在 select 标签内添加选项;

绑定到按钮的第二种方法执行我需要的过程;

我从谷歌尝试了很多选项,但它甚至不允许我尝试它们。 它向我显示了Unterminated string literal. 无论我尝试用它做什么。

错误看起来如何

它看起来像这样:

<!DOCTYPE html>

<html>
<head runat="server">
    <title>Choose language to upload .html files</title>
</head>
<body>
    <form">
    <div>
        <h1>Choose language to upload .html files</h1>
        <select>
            /*After page is loaded, method from a controller will add options*/
        </select>
    </div>
    <button>Start</button> /*Another method from a controller will be bound to this button*/
    </form>
</body>
</html>

将文件扩展名从.html重命名为.cshtml 目前,您看到的是 VS Code 的常规 html 文件的 JavaScript 错误。 更改文件扩展名后,它会识别出您的文件是 Razor 视图。

另一种选择是将 VS Code 中文件的基于语言的设置设置为适当的语言。 您可以通过打开pub.cshtml_virtual.html文件来完成此操作,语言设置将位于 VS Code 的右下角。

目前, pub.cshtml_virtual.html文件将设置为HTML

html 选项的图像

单击HTML将其更改为aspnetcorerazor (可能需要扩展才能获得该选项):

在此处输入图片说明

好的,所以您需要了解 MVC 架构以及您希望如何根据您的需求实现不同的场景。 每个View都由其关联的Controller呈现。 您可将创建一个View没有关联的Model和处理的所有数据View使用前端脚本technqiues这样JavaScriptAJAX

我更喜欢的另一种技术是Model-View绑定,您可以在其中为View设计适当的Model并使用Controller绑定它们。 现在,根据您的要求,您可以在Controller预填充Model并使用这些值呈现您的View 或者,您可以在View上使用强Model类型绑定来设置表单数据,然后将其发送到关联方法以使用Form标签进行处理。 请注意,此方法将处理您的数据,然后返回相应的View

现在转到您的案例,显示的错误是因为您的操作onclick字符串文字不正确。 您可以在按钮事件中使用它:

onclick="@("window.location.href='" + @Url.Action("Start", "Default") + "'");"

单击按钮时,您将进入Default控制器的Start操作方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM