1.一个视图中的多个表单Form中的变量。
方式一:视图中跨Form变量不能用,得各自定义变量否则编译不能通过。变量名还不能相同。
或者方式二:在Form之外定义变量
@{
ViewData["Title"] = "ExpenseForm";
}
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>ExpenseForm</title>
<style type="text/css">
div, table, tr, td {
margin: 0px;
padding: 0px;
}
.myTable {
width: 600px;
margin: 20px auto;
border-collapse: collapse;
}
.myTable td, .myTable th {
height: 30px;
line-heigh: 30px;
padding: 6px;
}
</style>
</head>
<body>
<h1 style="text-align:center">费用信息</h1>
@{
int MaxProjectId = (ViewBag.Project as IEnumerable<Project>)?.Any() == true
? ((IEnumerable<Project>)ViewBag.Project).Max(p => p.ProjectId)
: 0;
var maxProject = (ViewBag.Project as IEnumerable<Project>)?.FirstOrDefault(p => p.ProjectId == MaxProjectId);
}
<form action="ExpenseForm">
<table class="myTable" border="1">
<tr>
<td colspan="2" align="center" style="font-weight:bold;">
<a href="ProjectForm" style="float: left">更多项目信息</a>
项目选择
<input type="submit" value="确认" />
</td>
</tr>
<tr>
<td width="200" align="right">项目序号:</td>
<td width="600" align="left">
@* @{
int MaxProjectId = (ViewBag.Project as IEnumerable<Project>)?.Any() == true
? ((IEnumerable<Project>)ViewBag.Project).Max(p => p.ProjectId)
: 0;
var maxProject = (ViewBag.Project as IEnumerable<Project>)?.FirstOrDefault(p => p.ProjectId == MaxProjectId);} *@
<select name="ddlProjectId" id="ddlProjectId">
<option value="0">--请选择--</option>
@foreach (var item in ViewBag.Project)
{
<!option value="@item.ProjectId" @(item.ProjectId == @MaxProjectId ? "selected" : "")>@item.ProjectId</!option>
}
</select>
</td>
</tr>
<tr>
<td>项目编号: </td>
<td>@maxProject?.ProjectNo</td>
</tr>
<tr>
<td>报销次数:</td>
<td>@maxProject?.Times</td>
</tr>
<tr>
<td>项目名称:</td>
<td>@maxProject?.ProjectName</td>
</tr>
</table>
</form>
<table class="myTable" border="1">
<tr>
<td colspan="6" align="center" style="font-weight:bold;">
<a href="SearchForm" style="float: left">费用查询</a>
费用信息
</td>
</tr>
<tr>
<th>项目序号:</th>
<th>费用序号:</th>
<th>费用类型:</th>
<th>金额:</th>
<th>日期:</th>
<th>操作:</th>
</tr>
@if (ViewBag.selExpense != null)
@foreach (var item in ViewBag.selExpense)
{
<tr>
<td>@item.ProjectId</td>
<td>@item.ExpenseId</td>
<td>@item.ExpenseType</td>
<td>@item.Amount</td>
<td>@item.CreateDate</td>
<td>
<a href="ConmonFileForm?ExpenseId=@item.ExpenseId" target="_blank">编辑</a>|
<a href="#">删除</a>
</td>
</tr>
}
</table>
<form method="post" action="AddExpense">
@{
int MaxProjectId2 = (ViewBag.Project as IEnumerable<Project>)?.Any() == true
? ((IEnumerable<Project>)ViewBag.Project).Max(p => p.ProjectId)
: 0;
var maxProject2 = (ViewBag.Project as IEnumerable<Project>)?.FirstOrDefault(p => p.ProjectId == MaxProjectId2);
}
<input type="hidden" name="hdProjectId" value="@maxProject?.ProjectId" />
<div style="text-align:center">
<table class="myTable" border="1">
<tr>
<td colspan="2" align="center" style="font-weight:bold;">新增费用</td>
</tr>
<tr>
<td width="200" align="right">费用类型:</td>
<td width="600" align="left">
<select name="ExpenseType" id="ExpenseType">
<option value="0">--请选择--</option>
@foreach (var item in ViewBag.ExpenseTypes)
{
<option value="@item.Note">@item.Note</option>
}
</select>
<a href="ExpenseForm">更多费用类型</a>
</td>
</tr>
<tr>
<td width="200" align="right">费用金额:</td>
<td width="600" align="left"><input type="text" name="txtAmount" /></td>
</tr>
<tr>
<td width="200" align="right"></td>
<td width="600" align="left">
<input type="submit" value="新增" />
</td>
</tr>
</table>
</div>
</form>
</body>