在编辑视图的“GET”部分遇到一些问题,并且无法在网上找到任何内容。到目前为止,这是我的POST部分:
Fatal error: Call to undefined function _() in C:\wamp\www\Dropbox \Dropbox\www\Alter\addAnnonce.php on line 62
我只使用EntityFramework完成此操作并让它支持所有内容,因此这是第一次使用Viewmodels进行个人化。
有关我的POST操作是否正确的任何帮助,以及有关GET操作的一些指导将不胜感激:)
答案 0 :(得分:1)
我相信你与POST
走在正确的轨道上。 GET
更加简单:
public ActionResult Create()
{
return View(new ContactsCreateViewModel() { ... your initial settings, may be contained within constructor of view model directly ... });
}
GET
请求请求服务器提供由用户填写的空表单,填写的数据通过POST
发回,并在您提供的功能中处理。
如果您正在谈论编辑,那么它与另外一步相似:
public ActionResult Edit(int id)
{
var data_model = TheContactContext.tblContacts.Get(id); // get model probably from database
var view_model = new ContactsCreateViewModel() {
Company = data_model.Company,
...
}; // copy all data into view model
return View(view_model); // and display view
}
答案 1 :(得分:0)
首次加载页面时,它会发送GET请求并从Db中检索包含项目集合的模型。在您更新其中一些项目后,您的应用会发送包含json数据的发布请求(最有可能使用Ajax)。您可以使用控制器方法更新数据库,现在可以刷新页面数据了。最简单的方法是使用ajax。
$.ajax({
url: "http://" + location.host + "/CTRL/Action",
type: "POST",
data: yourdata,
}).done(function (html) {
location.reload(); (or other method to update UI)
}).fail(function (err) {
alert(err.statusText);
});
它是客户端的。服务器端就像:
lock (obj)
{
try
{
update database here...
}
catch(Exception ex)
{
return new HttpStatusCodeResult(System.Net.HttpStatusCode.ServiceUnavailable, ex.Message);
}
return new HttpStatusCodeResult(System.Net.HttpStatusCode.OK, "Update completed");
}