【发布时间】:2025-12-14 03:10:01
【问题描述】:
从控制器发送列表到视图的最佳方式是什么。 顺便说一句,我是 MVC 的新手。 我想发送我的 companyList(在后控制器处)查看。 如果你问我为什么要在视图中显示 companyList[0].Name 并且我想在我的 ajax 中的“成功”状态下执行此操作。
谢谢。
这是我的 Get 控制器代码
public ActionResult Index()
{
KargoDB database = new KargoDB();
var query = database.States.Select(s => new SelectListItem
{
Value = s.State_id.ToString(),
Text = s.Description,
Selected = s.State_id.Equals(1)
});
var model = new State()
{
lstStates = query.AsEnumerable()
};
return View(model);
}
这是我的帖子控制器代码
[HttpPost]
public ActionResult Index(string senderAddress, string senderState, string receiverAddress, string receiverState,
string receiverName, string receiverPhoneNumber, string requestDate, string cargoHeight, string cargoLenght,
string cargoQuantity, string paymentType, string cargoWidth, string cargoWeight)
{
RouteDetailRepository rdr = new RouteDetailRepository();
int routeId = rdr.getRouteId(senderState, receiverState);
List<RoutesDetail> companyList = rdr.getRouteDetail(routeId);
if (companyList == null)
{
return JavaScript("Seçilen Güzergaha Sistemde Kayıtlı Olan Hiç Bir Kargo Firması Servis Yapmamaktadır.");
}
return Json(new { status = "success" });
}
如您所见,我正在为我的 ajax 返回成功。
这是我查看代码的一部分
@model denemee.Models.State
<script type="text/javascript">
$(document).on("click", "#btnSearch", function () {
var senderAddress = document.getElementById("senderAddress").value;
var senderState = document.getElementById("senderState").value;
var receiverAddress = document.getElementById("receiverAddress").value;
var receiverState = document.getElementById("receiverState").value;
var receiverName = document.getElementById("receiverName").value;
var receiverPhoneNumber = document.getElementById("receiverPhoneNumber").value;
var requestDate = document.getElementById("datepicker").value;
var cargoHeight = document.getElementById("cargoHeight").value;
var cargoLenght = document.getElementById("cargoLength").value;
var cargoQuantity = document.getElementById("cargoQuantity").value;
var paymentType = document.getElementById("paymentType").value;
var cargoWidth = document.getElementById("cargoWidth").value;
var cargoWeight = document.getElementById("cargoWeight").value;
if (senderAddress === "" || senderState === "" || receiverAddress === "" || receiverState === "" ||
receiverName === "" || receiverPhoneNumber === "" || requestDate === "" || cargoHeight === "" ||
cargoLenght === "" || cargoQuantity === "" || paymentType === "" || cargoWidth === "" ||
cargoWeight === "") {
alert("Lütfen Tüm Alanları Doldurunuz.")
} else {
$.ajax({
type: 'POST',
url: '/Main/Index',
dataType: 'json',
data: {
'senderAddress' : senderAddress,
'senderState': senderState,
'receiverAddress' : receiverAddress,
'receiverState' : receiverState,
'receiverName' : receiverName,
'receiverPhoneNumber' :receiverPhoneNumber,
'requestDate': requestDate,
'cargoHeight': cargoHeight,
'cargoLenght' : cargoLenght,
'cargoQuantity' : cargoQuantity,
'paymentType' : paymentType,
'cargoWidth' : cargoWidth,
'cargoWeight' : cargoWeight,
},
success: function (msg) {
},
error: function (msg) {
alert(msg.responseText);
}
});
}
});
</script>
【问题讨论】:
标签: c# ajax model-view-controller view controller