我无法在我的网页上获取WebGrid.SortColumn字符串。当我调试我的Razor页面时,值的设置如下图所示。因此,在View发送到我的浏览器之前,这个变量发生了一些变化,所以它似乎是空的。我需要在隐藏字段中打印此属性以添加排序功能的箭头,但是我能想到的所有选项都无法在页面中获取值。
此代码用于局部视图_Test.csHtml
string sortCol = "testing the sortcolumn " + grid.SortColumn;
<p>Here is sortcolumn value :: @sortCol</p>
//displays --> <p>Here is sortcolumn value :: </p>
@Html.Hidden("dir", grid.SortDirection);
//displays --> <input id="dir" type="hidden" value="Ascending" name="dir">
@Html.Hidden("col", grid.SortColumn);
// displays --> <input id="col" type="hidden" value="" name="col">
先谢谢,希望一切都清楚,如果不是,我会进一步解释自己
line ::
这是sortcolumn值:: @sortCol
output ::
这是sortcolumn值::测试sortcolumn
哪个更奇怪,因为变量填充了正确的数据,但只是没有打印属性....
public class InvoicesViewModel : BaseViewModel
{
public InvoicesViewModel(Controller cntrl)
: base(cntrl)
{
}
public InvoicesViewModel() { }
public Double subtotal { get; set; }
public WebGrid grid { get; set; }
public string sortColumn { get; set; }
public string help { get; set; }
public IOrderedEnumerable<TtCompanyInvoicelist> invList { get; set; }
}
public ActionResult Index()
{
vm.grid = new WebGrid(vm.invList, rowsPerPage: 10, ajaxUpdateContainerId: "grid", ajaxUpdateCallback: "webGridUpdated");
vm.sortColumn = vm.grid.SortColumn;
return View(vm);
}
在控制器中,您可以看到对象的值是正确的。在视图中,您可以看到对象仍然正确填充。但输出保持不变,隐藏输入的值为空。