선택한 보고서에 대한 비용 목록을 표시하는 면도기 페이지가 있습니다. 모달을 불러오는 페이지에 "비용 추가"버튼이 있습니다. 모달은 양식의 부분보기입니다. 내가해야 할 일은 ExpenseId를 모달에 전달하는 것입니다. 이렇게 URL에서 Id를 얻을 수 있습니다.
@{ var expenseId = Request.Url.Segments[3]; }
버튼은 현재 다음과 같습니다.
<button type="button" data-toggle="modal" data-target="#expenseModal_@expenseId" data-id="@expenseId" class="btn btn-primary" id="addExpenses">
Add Expense
</button>
내가 필요한지 알 수없는 몇 가지가 있습니다. 나는 다른 것을 시도하고 있었다.
모달
<!-- MODAL -->
<div class="modal fade" id="expenseModal_@expenseId" tabindex="-1" role="dialog" aria-labelledby="expenseModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="expenseModalLabel"> Expences </h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div> <!-- MODEL HEADER-->
<div class="modal-body">
</div> <!-- MODAL BODY-->
</div>
</div>
자바 스크립트
<script type="text/javascript">
$(document).ready(function () {
$("#addExpenses").click(function () {
$(".modal-body").html('');
$.ajax({
type: 'GET',
url: '@Url.Action("_ExpenseForm", "Admin")',
data: { type: $(this).attr("data-type") },
success: function (response) {
$(".modal-body").html(response);
$("#expenseModal").modal('show');
},
error: function () {
alert("Something went wrong");
}
});
});
});
</script>
비용 ID는 양식에 삽입해야 저장 될 때 올바른 비용 보고서에 저장됩니다.
컨트롤러 작업
ExpensesDataAcessLayer objexpense = new ExpensesDataAcessLayer();
public ActionResult ExpenseReports()
{
return View(db.ExpenseReports.ToList());
}
public ActionResult Expenses(int ExpenseId)
{
return View(db.Expenses.Where(x => x.ExpenseId == ExpenseId).ToList());
}
public ActionResult _ExpenseForm()
{
CustomerEntities customerEntities = new CustomerEntities();
List<SelectListItem> categoryItem = new List<SelectListItem>();
ExpensesViewModel casModel = new ExpensesViewModel();
List<ExpenseTypes> expensetypes = customerEntities.ExpenseType.ToList();
expensetypes.ForEach(x =>
{
categoryItem.Add(new SelectListItem { Text = x.CategoryItem, Value = x.ItemCategoryId.ToString() });
});
casModel.ExpenseTypes = categoryItem;
return View(casModel);
}
당신의 도움을 주셔서 감사합니다!
다음 expenseId
과 같이 숨겨진 필드에 저장할 수 있습니다.
<input id="expenseId" name="expenseId" type="hidden" value="@Request.Url.Segments[3]">
그러면 이렇게 얻을 수 있습니다
$("#addExpenses").click(function () {
var expenseId = $("#expenseId").val();
// after code here
업데이트 됨
당신이 얻을 수있는 expenseId
다음과 같은
var expenseId = $(this).attr("data-id")
그럼 당신은 숨겨진 필드 또는 어디에서 할당 할 수 있습니다 Model
이와 같이,
<!-adding aditional input into HTML in MODEL-!>
<input id="expenseId" name="expenseId" type="hidden" value="">
<!- Javascript-!>
var expenseId = $(this).attr("data-id")
expenseId.val(expenseId );
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다