我希望在加载页面时填充@Html.Editor
的值。这是我失败的尝试:
@Html.EditorFor(m => m, new { htmlAttributes = new { @class = "form-control" } })
在Razor页面的顶部,我有这个:
@model string
这是我的控制者:
public ActionResult YeniBelge(string KimlikNo)
{
return View((object)KimlikNo);
}
它表示价值不能为空。
我怎样才能使这个正确?感谢。
答案 0 :(得分:1)
使用控制器中的数据填充模型,然后使用
QueryOptions queryOptions = new QueryOptions();
List<String> list = new ArrayList<String>() ;
list.add("point DESC") ;
queryOptions.setSortBy(list);
BackendlessDataQuery backendlessDataQuery = new BackendlessDataQuery();
backendlessDataQuery.setQueryOptions(queryOptions);
Backendless.Data.of(BackendlessUser.class).find(backendlessDataQuery, new AsyncCallback<BackendlessCollection<BackendlessUser>>() {
@Override
public void handleResponse(BackendlessCollection<BackendlessUser> one) {
while(one.getCurrentPage().size()>0) {
Iterator<BackendlessUser> it = one.getCurrentPage().iterator();
while (it.hasNext()) {
//something here,not so important
}
one.nextPage(this);// here I want to get next page,
//but seems like it does not work, cause my loop became infinite
}
}
答案 1 :(得分:1)
就像@vortex指出的那样,你需要使用EditorFor模板。
@Html.EditorFor(model => model.TCKimlikNo, new { htmlAttributes = new { @class = "form-control" } })
如果您在页面顶部加载了模型,则会在表单中填入模型字段的当前值。
答案 2 :(得分:1)
我怀疑您正在尝试为模型分配一个可能为null的字符串,该字符串永远不会为null。创建一个ViewModel类并改为使用它:
public class MyViewModel {
public string TCKimlikNo { get; set; }
}
public ActionResult YeniBelge(string KimlikNo)
{
return View(new MyViewModel { KimlikNo = KimlikNo ?? "My Default Value" });
}
然后在你看来:
@model MyViewModel
@Html.EditorFor(m => m.TCKimlikNo, new { htmlAttributes = new { @class = "form-control" } })
答案 3 :(得分:1)
在您的控制器中更改为以下内容。
public class KimlikNoViewmodel
{
public string KimlikNo { get; set; }
}
public ActionResult YeniBelge (string KimlikNo)
{
KimlikNoViewmodel viewModel = new KimlikNoViewmodel();
viewModel.KimlikNo = KimlikNo;
return View(viewModel);
}
在您看来,我怀疑您没有找到该型号。调用Model时需要包含项目名称。
@model YourProjectName.Controllers.KimlikNoViewmodel
我建议实际保存我们在View模型文件下的Models文件夹中创建的View模型,然后再调用以下内容。
@model YourProjectName.Models.KimlikNoViewmodel