目录

ASP.NET-CORE-MVC-EF框架

目录

ASP.NET CORE MVC EF框架

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>