@foreach(var list in CorpDetails){
<tr>
td><input type="button" id="btnSelect" value="Select" class="btn btn-info" /></td>
<td>@list.SAMID</td>
<td>@list.CorporateID</td>
<td>@list.CorporateName</td>
<td>@list.BUName</td>
<td>@list.TotalAmount</td>
<td>@list.approver1</td>
<td>@list.approver3</td>
<td>@list.approver4</td>
<td>@list.approver5</td>
</tr>
}
我想通过单击btnSelect将选定的行传递给Controller,但我不知道如何。
答案 0 :(得分:1)
好的,作为基本示例,您可以添加一个复选框字段,并假设class Window(QWidget):
# ...
def create_page3(self):
# ...
page.viewmenubutton.clicked.connect(self.openviewforday)
def openviewforday(self):
weekDay = self.page1.calendar.selectedDate().dayOfWeek()
if weekDay == 1:
# do something for Monday
elif weekDay == 2:
# do something for Tuesday
# etc...
是数据库中的标识符,您可以执行类似的操作,希望对您有所帮助你出来:
SAMID
在您的@using (Html.BeginForm("ProcessInformation", "Home", FormMethod.Post, new { @id = "myFormId", @class = "form-horizontal", role = "form", enctype = "multipart/form-data" }))
@Html.AntiForgeryToken()
{
@foreach(var list in CorpDetails)
{
<tr>
<td><input type="checkbox" value="@list.SAMID" name="childChkbox" id="checkAll" /></td>
<td>@list.SAMID</td>
<td>@list.CorporateID</td>
<td>@list.CorporateName</td>
<td>@list.BUName</td>
<td>@list.TotalAmount</td>
<td>@list.approver1</td>
<td>@list.approver3</td>
<td>@list.approver4</td>
<td>@list.approver5</td>
</tr>
}
<input id="submitform" type="submit" value="Process Information" class="btn btn-primary btn-md" />
}
中:
Controller
答案 1 :(得分:1)
这是一个工作示例,如下所示:
1。型号:
public class CorpDetail
{
public int SAMID { get; set; }
public int CorporateID { get; set; }
public string CorporateName { get; set; }
public string BUName { get; set; }
public int TotalAmount { get; set; }
public string approver1 { get; set; }
public string approver3 { get; set; }
public string approver4 { get; set; }
public string approver5 { get; set; }
}
2。视图:
@model IEnumerable<CorpDetail>
<table>
<tr>
<th></th>
<th>SAMID</th>
<th>CorporateID</th>
<th>CorporateName</th>
<th>BUName</th>
<th>TotalAmount</th>
<th>approver1</th>
<th>approver3</th>
<th>approver4</th>
<th>approver5</th>
</tr>
@{
var i = 0;
@foreach (var list in Model)
{
<tr>
<td>
<input type="button" id="@i" value="Select" class="btn btn-info" onclick="test(@i)" /></td>
<td id="SAMID">@list.SAMID</td>
<td id="CorporateID">@list.CorporateID</td>
<td id="CorporateName">@list.CorporateName</td>
<td id="BUName">@list.BUName</td>
<td id="TotalAmount">@list.TotalAmount</td>
<td id="approver1">@list.approver1</td>
<td id="approver3">@list.approver3</td>
<td id="approver4">@list.approver4</td>
<td id="approver5">@list.approver5</td>
</tr>
i++;
}
}
</table>
@section Scripts{
<script>
function test(i) {
var sAMID =parseInt($('#' + i).closest('tr').children('#SAMID').text());
var corporateID = parseInt($('#' + i).closest('tr').children('#CorporateID').text());
var corporateName = $('#' + i).closest('tr').children('#CorporateName').text();
var bUName = $('#' + i).closest('tr').children('#BUName').text();
var totalAmount = parseInt($('#' + i).closest('tr').children('#TotalAmount').text());
var approver1 = $('#' + i).closest('tr').children('#approver1').text();
var approver3 = $('#' + i).closest('tr').children('#approver3').text();
var approver4 = $('#' + i).closest('tr').children('#approver4').text();
var approver5 = $('#' + i).closest('tr').children('#approver5').text();
var data = {sAMID,corporateID,corporateName,bUName,totalAmount,approver1,approver3,approver4,approver5}
$.ajax({
type: "POST",
url: "/Home/Contact",
contentType:"application/json",
data: JSON.stringify(data),
sucess: function (data) {
//...
}
})
}
</script>
}
3.Controller:
public IActionResult Contact()
{
var model = new List<CorpDetail>()
{
new CorpDetail(){ SAMID =1,CorporateID=1,CorporateName="aa",BUName="aa1",TotalAmount=10,approver1="a1",approver3="a3",approver4="a4",approver5="a5"},
new CorpDetail(){ SAMID =2,CorporateID=2,CorporateName="bb",BUName="bb1",TotalAmount=20,approver1="b1",approver3="b3",approver4="b4",approver5="b5"},
new CorpDetail(){ SAMID =3,CorporateID=3,CorporateName="cc",BUName="cc1",TotalAmount=30,approver1="c1",approver3="c3",approver4="c4",approver5="c5"},
};
return View(model);
}
[HttpPost]
public IActionResult Contact([FromBody]CorpDetail corpDetail)
{
ViewData["Message"] = "Your contact page.";
return View();
}
答案 2 :(得分:0)
这是将数据传递到控制器的另一种简单方法。
在锚标记<a></a>
内添加您按钮,然后使用href="@Url.Action("yourAction","yourController",new{<parameters>})"
从视图中调用控制器。
更改HTML代码。假设您要使用Edit
参数调用Home
动作SAMID
控制器。
@model IEnumerable
@foreach(var list in CorpDetails){
<tr>
<td><a href="@Url.Action("Edit", "Home", new {id = @list.SAMID})"><input type="button" id="btnSelect" value="Select" class="btn btn-info" /></a></td>
<td>@list.SAMID</td>
<td>@list.CorporateID</td>
<td>@list.CorporateName</td>
<td>@list.BUName</td>
<td>@list.TotalAmount</td>
<td>@list.approver1</td>
<td>@list.approver3</td>
<td>@list.approver4</td>
<td>@list.approver5</td>
</tr>
}
您的控制器
public ActionResult Edit(int id)
{
var SMID= id;
//and more code
}
如果要将整个对象传递给控制器,请传递整个对象并从action方法接收该对象。
<td><a href="@Url.Action("Edit", "Home", new {obj = @list})"><input type="button" id="btnSelect" value="Select" class="btn btn-info" /></a></td>
控制器
public ActionResult Edit(TestModel obj)
{
var testModel= obj;
//and more code
}