この Web サイトのグリッド ソース コードを使用しています。
http://gridmvc.azurewebsites.net/
しかし、彼のカスタム列のクエリ文字列がどのように形成されるかわかりません。私が提供したリンクには編集列があります。リンクにカーソルを合わせると、クエリ文字列 ID のハイパーリンクが表示されます。このソース コードを使用しましたが、クエリ文字列がありません。
コントローラーコード
#region PartialViews
[ChildActionOnly]
public ActionResult RenderGrid()
{
DataLayer.RepositoryClient RC = new RepositoryClient();
var People = RC.GetPeople();
return PartialView("~/Views/Client/PartialViews/P_PersonGrid.cshtml", People);
}
#endregion
エンティティ フレームワークから人のリストを取得します。次に、部分ビューでモデルのリストを使用します。
部分図
@model List<Models.modelPeopleGrid>
@using GridMvc.Html
@{
ViewBag.Title = "Person records";
}
<div>
@Html.Label("Search for person")
<input type="text" onkeyup="activateSearch()" id="txtSearch" style="width:150px";/>
</div>
<div class="grid-wrap" style="float:left">
@Html.Grid(Model).Named("peopleGrid").Columns(columns =>
{
columns.Add(m => m.Firstname).Titled("Firstname").Filterable(true);
columns.Add(m => m.Surname).Titled("Surname").Filterable(true);
columns.Add(m => m.DateOfBirth).Titled("DateOfBirth").Filterable(true);
columns.Add(m => m.Address).Titled("Address").Filterable(true);
columns.Add(m => m.Borough).Titled("Borough").Filterable(true);
columns.Add(m => m.PersonID).Encoded(false).Sanitized(false).SetWidth(30).RenderValueAs(
@<b>
@Html.ActionLink("Edit person details", "EditPerson", "Index")
</b>);
columns.Add()
.Encoded(false)
.Sanitized(false)
.SetWidth(30)
.RenderValueAs(m =>
@<b>
@Html.ActionLink("Add/remove claims", "EditClaim", "Index")
</b>);
}).WithPaging(20)
</div>
<div class="rowValues" style="float:right"></div>
<script>
$(function () {
pageGrids.peopleGrid.onRowSelect(function (e) {
$(".rowValues").html(
"<h4>Full details of person:</h4>" +
"Firstname: " + e.row.Firstname + "<br />" +
"Surname: " + e.row.Surname + "<br />" +
"DateOfBirth: " + e.row.DateOfBirth + "<br />" +
"Address: " + e.row.Address + "<br />" +
"Borough: " + e.row.Borough + "<br />"
);
});
});
</script>
<script type="text/javascript">
function activateSearch() {
var value = $("#txtSearch").val();
$.ajax({
url: "Client/GetPeople",
dataType: 'html',
type: "GET",
data: { Name: value },
success: function (data) {
$('.webgrid').empty().html(data);
},
error: function () {
alert("error");
}
});
}
</script>
このコード行に対して形成されたクエリ文字列を取得する方法がわかりません:
columns.Add(m => m.PersonID).Encoded(false).Sanitized(false).SetWidth(30).RenderValueAs(
@<b>
@Html.ActionLink("Edit person details", "EditPerson", "Index")
</b>);
actionlink の 4 番目のパラメーターとして html オブジェクトの属性を試しましたが、何らかの理由で赤く揺れていました。
誰でも私の問題に答える方法を知っていますか?