从 .Net (mvc) 中的视图按钮调用控制器方法的最简单方法
Simplest way to call a controller method from a view button in .Net (mvc)
我刚开始使用 MVC 编程,我想问一下从您的视图调用控制器方法的最佳方法。
为了使它更容易:
我有一个名为 Song 的模型,有两种启动和停止它的方法:
public class Song
{
WMPLib.WindowsMediaPlayer wplayer ;
public Song() {
wplayer = new WMPLib.WindowsMediaPlayer();
wplayer.URL = "my song url";
wplayer.controls.stop();
}
public void Stop() {
wplayer.controls.stop();
}
public void Start() {
wplayer.controls.play();
}
}
在控制器中我创建了歌曲对象,我有两个函数来启动和停止它。
public class DefaultController : Controller
{
// GET: Default
Song c = new Song();
public ActionResult Index()
{
return View(c);
}
public void Start() {
c.Start();
}
public void Stop() {
c.Stop();
}
}
在视图中,我有 2 个按钮对应于每个控制器操作。
<button type="button">Start</button>
<button type="button">Stop</button>
如何以最正确的方式从视图按钮调用每个控制器操作?
非常感谢您的关注,感谢您的帮助
实现此目的的一种非常简单的方法是使用 Razor,如下所示:
<button type="button" onclick="location.href='@Url.Action("Start", "DefaultController")'">Start</button>
<button type="button" onclick="location.href='@Url.Action("Stop", "DefaultController")'">Stop</button>
您可以使用设置 href
路径从 view
调用您的 controller
。
<a class="btn btn-success" href="@Url.Action("Start", "DefaultController")">Start</a>
如果要传递参数则:
<a class="btn btn-success" href="@Url.Action("Start","DefaultController", new {id=Item.id })">Start</a>
或者对于其他选项,您可以查看此 link
您可以使用 ajax
调用您的控制器方法,另请参阅此 link
我刚开始使用 MVC 编程,我想问一下从您的视图调用控制器方法的最佳方法。 为了使它更容易: 我有一个名为 Song 的模型,有两种启动和停止它的方法:
public class Song
{
WMPLib.WindowsMediaPlayer wplayer ;
public Song() {
wplayer = new WMPLib.WindowsMediaPlayer();
wplayer.URL = "my song url";
wplayer.controls.stop();
}
public void Stop() {
wplayer.controls.stop();
}
public void Start() {
wplayer.controls.play();
}
}
在控制器中我创建了歌曲对象,我有两个函数来启动和停止它。
public class DefaultController : Controller
{
// GET: Default
Song c = new Song();
public ActionResult Index()
{
return View(c);
}
public void Start() {
c.Start();
}
public void Stop() {
c.Stop();
}
}
在视图中,我有 2 个按钮对应于每个控制器操作。
<button type="button">Start</button>
<button type="button">Stop</button>
如何以最正确的方式从视图按钮调用每个控制器操作?
非常感谢您的关注,感谢您的帮助
实现此目的的一种非常简单的方法是使用 Razor,如下所示:
<button type="button" onclick="location.href='@Url.Action("Start", "DefaultController")'">Start</button>
<button type="button" onclick="location.href='@Url.Action("Stop", "DefaultController")'">Stop</button>
您可以使用设置 href
路径从 view
调用您的 controller
。
<a class="btn btn-success" href="@Url.Action("Start", "DefaultController")">Start</a>
如果要传递参数则:
<a class="btn btn-success" href="@Url.Action("Start","DefaultController", new {id=Item.id })">Start</a>
或者对于其他选项,您可以查看此 link
您可以使用 ajax
调用您的控制器方法,另请参阅此 link