我很难找到解决我目前状况的方法:
我需要为C#变量分配一个动态值,因为C#是查询我的数据库的变量。
该值必须与他们选择的(点击等)的主键ID匹配。sql查询的条目。
我从来不知道根据他们的搜索会有多少条目(或哪些条目)。
到目前为止,他们将搜索条件放在一个表单中,动态查询数据库,并按顺序逐行显示结果。
现在,我需要一个按钮(或某种用户选择的界面),它可以告诉我他们选择编辑哪个条目,然后将数据库中该条目的值带到View & edit页面。
我可以做所有这些,除了,当C#在用户可以输入任何内容时已经完成了页面渲染时,我如何知道他们单击(或选择)了哪个条目?JavaScript不能查询数据库,这怎么可能呢?请记住,我知道jQuery,但不了解任何AJAX。
我使用的是WebMatrix C# razor、html、css、JavaScript、SQL Server Compact和jQuery (我肯定是标准的WebMatrix安装)。
任何帮助都是非常感谢的。
发布于 2012-09-28 16:59:37
好的,正如GmG所评论的,webGrid旨在帮助解决这个问题,然而,如果你不喜欢使用这个答案而构建自己的答案,以下是我发现的完美适用于我的答案(对于我的特定情况更好):
在@foreach(db.Query(“queryString”)中的var行)循环中,我(在汇总信息中)添加了一个表单,以便找到的每个条目都有自己的表单。在表单中,我只放置了一个提交按钮和一个隐藏的输入文本元素,该元素在" name“属性中设置了任何给定的指定名称(即,name="inputName")。这个隐藏元素的值是@row.EntryID (即value="@row.EntryID"),它将用在数据库中找到的条目的惟一主键绘制该字段的值。将表单操作设置为该页面中的另一个文件(即action="/somefile.cshtml")后,我只需从隐藏的输入文本字段中提取EntryID (即var someVariable = Request.Form"inputName";)。因为请求只会从提交它的表单中抓取,并且隐藏输入字段的值是动态绘制的,所以我总是可以获得他们单击按钮所获取的条目的ID。
我希望这篇文章能帮助那些想要在不使用WebGrid帮助器的情况下执行类似功能的人(尽管,你可能想这样做,我的意思是这就是它的目的)。然而,对于像我这样的一些人来说,我们可能知道如何更好地控制它(因为我们可能不知道jack关于helper的知识,也不知道如何调整其中所需的微小配置,以便以我们想要的方式显示、样式和控制web界面)。
无论如何,再一次,希望这能帮助一些人。
发布于 2014-07-09 15:59:58
现在已经很晚了,但这可能会对其他人有所帮助:
foreach示例
@foreach(var row in sCustomersHO){
<tr>
<td><a href="~/Admin/ManageCustomersCH?id=@row.CustId">@row.Account</a></td>
<td>@row.CustomerName</td>
<td>@row.RepName</td>
<td>@row.CustomerTypeDescription</td>
<td>@row.StopStatus</td>
<td><a href="~/Admin/DeleteCustomerHO?id=@row.CustId">Delete</a></td>
</tr>
}
网格示例:
@gAllReports.GetHtml(
tableStyle: "grid",
headerStyle: "head",
alternatingRowStyle: "alt",
columns: gAllReports.Columns(
gAllReports.Column("Name"),
gAllReports.Column("Description", format: @<textarea disabled>@item.Description</textarea>),
gAllReports.Column("Action", format: @<form method="post">@AntiForgery.GetHtml()<input type="hidden" id="UserId" name="UserId" value="@UserId" /><input type="hidden" id="ReportId" name="ReportId" value="@item.ReportId" /><button type="submit" name="action" value="add">Add</button></form>)
)
)
https://stackoverflow.com/questions/12630646
复制相似问题