WebGrid を使用して、次の結果を表示します。
select * from table where column like '**';
結果表示には問題ありません。
ただし、WebGrid の列名をクリックして結果を並べ替えると、エラーが発生するか、ページに何も表示されません。
WebGrid の並べ替えを機能させるにはどうすればよいですか??
@{
Layout = "~/_SiteLayout.cshtml";
Page.Title = "Test";
var value = "";
var sqlquery = "";
var isvalid = true;
var searchaskey = "";
var grid = new WebGrid();
if(IsPost)
{
value = Request.Form["input"];
if(string.IsNullOrEmpty(value))
{
isvalid = false;
}
if (isvalid)
{
searchaskey = "'%" + value + "%'";
sqlquery = "select * from joblist where JobCategory like " + searchaskey;
var db = Database.Open("StarterSite");
grid = new WebGrid( db.Query(sqlquery));
}
}
}
<form method="post" action="Test.cshtml">
@value
@sqlquery
<div>
<input name="input" type="text" value=@value>
<button type="Submit">Submit</button>
</div>
</form>
@{
if(IsPost)
{
@grid.GetHtml(
columns:grid.Columns(
grid.Column(columnName : "JobTitle",header:" Job Title "),
grid.Column(columnName : "JobCategory",header:" Job Category "),
grid.Column(columnName : "CompanyName",header:" Company Name "),
grid.Column(columnName : "PostedOn",header:" Post Date ")
)
)
}
}