gpt4 book ai didi

asp.net - 从 MVC Controller 返回不同的 View

转载 作者:行者123 更新时间:2023-12-02 17:23:22 24 4
gpt4 key购买 nike

我有一个 MVC 应用程序,其 SharedLayout View (母版页)为用户提供搜索功能。他们可以按订单号或按帐单号搜索订单。因此,共享 View 和文本框有两个选项按钮。代码有点像这样

   @using (Html.BeginForm("Track", "Tracking", FormMethod.Post))
{
<div style="text-align: center">
<textarea cols="20" id="txtNo" name="txtOrderNo" rows="2" ></textarea>
</div>
<div style="text-align: center">
<input type="radio" name="optOrderNo" checked="checked" value="tracking" />Order No <input type="radio" name="optRefNo" value="tracking" />Ref No
</div>
<div style="text-align: center">
<input type="submit" value="Track" />
</div>
}

因此它将转到 TrackingController 和其中的 Track 方法并返回 View 。它对于单个搜索效果很好,因为 View 与 Controller 的方法相关联。它工作正常,但我如何根据单选按钮选择有条件地返回另一个 View 。

我想到的是这个

 [HttpPost]
public ActionResult Track(FormCollection form)
{
string refNo = null;
if (form["optRefNo"] == null)
{
string OrderNo = form["txtOrderNo"];
var manager = new TrackingManager();
var a = manager.ConsignmentTracking(OrderNo);
var model = new TrackingModel();
if (OrderNo != null)
model.SetModelForConsNo(a, consNo);
return View(model);
}

refNo = form["txtConsNo"];
return TrackByRef(refNo);
}

public ActionResult TrackByRef(string refNo)
{
//what ever i want to do with reference no
return View();
}

请指导。谢谢

最佳答案

View 有一个重载,其中第一个参数是字符串。这是您要使用的 View 的名称(或路径),而不是默认 View (与操作名称匹配的 View )。

public ActionResult TrackByRef(string refNo)
{
//what ever i want to do with reference no
return View("Track");
// or, if you want to supply a model to Track:
// return View("Track", myModel);
}

关于asp.net - 从 MVC Controller 返回不同的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11078429/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com