使用 select 选项在 asp.net razor 页面中获取价值
using select options to get value in asp.net razor page
我想创建一个 select 选项来输入几个固定值之一,并让它 return 与变量的匹配值类似于输入文本字段的方式,我该怎么做这个?这是我的尝试,<input type="text">
工作正常但 select 类型 return null.
<div class="text-center">
<h1 class="display-4">Add new patient</h1>
<form method="post">
<input type="text" asp-for="patientModel.PatientID" placeholder="Patient ID" />
<input type="text" asp-for="patientModel.FirstName" placeholder="First Name" />
<input type="text" asp-for="patientModel.SecondName" placeholder="Second Name" />
<input type="text" asp-for="patientModel.Location" placeholder="Location" />
<select id="active" name="active" asp-for="patientModel.Sex">
<option value="ACTIVE">MALE</option>
<option value="INACTIVE">FEMALE</option>
<option value="OTHER">OTHER</option>
</select>
<select id="active" name="active" asp-for="patientModel.Active">
<option value="ACTIVE">ACTIVE</option>
<option value="INACTIVE">INACTIVE</option>
</select>
<button type="submit">Submit</button>
</form>
</div>
public class addnewpatientModel : PageModel
{
[BindProperty]
public PatientModel patientModel { get; set; }
public void OnGet()
{
}
public IActionResult OnPost()
{
return RedirectToPage("/index");
}
}
试试这个 link。我想你会找到答案 here
select 元素有一个名称属性。这用作提交表单时任何 selected 值的键。您可以通过将键作为索引器传递给请求来访问该值。
var value = Request.Form["active"];
然而,推荐的方法是向 PageModel 添加合适的 属性 并允许模型绑定将发布的值应用到 属性:
public class addnewpatientModel : PageModel
{
[BindProperty]
public int active { get; set; }
public void OnPost()
{
// posted value is assigned to the Number property automatically
}
}
更改 select 标签的名称属性或将其删除:
<select id="sex" name="patientModel.Sex" asp-for="patientModel.Sex">
<select id="active" name="patientModel.Active" asp-for="patientModel.Active">
我想创建一个 select 选项来输入几个固定值之一,并让它 return 与变量的匹配值类似于输入文本字段的方式,我该怎么做这个?这是我的尝试,<input type="text">
工作正常但 select 类型 return null.
<div class="text-center">
<h1 class="display-4">Add new patient</h1>
<form method="post">
<input type="text" asp-for="patientModel.PatientID" placeholder="Patient ID" />
<input type="text" asp-for="patientModel.FirstName" placeholder="First Name" />
<input type="text" asp-for="patientModel.SecondName" placeholder="Second Name" />
<input type="text" asp-for="patientModel.Location" placeholder="Location" />
<select id="active" name="active" asp-for="patientModel.Sex">
<option value="ACTIVE">MALE</option>
<option value="INACTIVE">FEMALE</option>
<option value="OTHER">OTHER</option>
</select>
<select id="active" name="active" asp-for="patientModel.Active">
<option value="ACTIVE">ACTIVE</option>
<option value="INACTIVE">INACTIVE</option>
</select>
<button type="submit">Submit</button>
</form>
</div>
public class addnewpatientModel : PageModel
{
[BindProperty]
public PatientModel patientModel { get; set; }
public void OnGet()
{
}
public IActionResult OnPost()
{
return RedirectToPage("/index");
}
}
试试这个 link。我想你会找到答案 here
select 元素有一个名称属性。这用作提交表单时任何 selected 值的键。您可以通过将键作为索引器传递给请求来访问该值。
var value = Request.Form["active"];
然而,推荐的方法是向 PageModel 添加合适的 属性 并允许模型绑定将发布的值应用到 属性:
public class addnewpatientModel : PageModel
{
[BindProperty]
public int active { get; set; }
public void OnPost()
{
// posted value is assigned to the Number property automatically
}
}
更改 select 标签的名称属性或将其删除:
<select id="sex" name="patientModel.Sex" asp-for="patientModel.Sex">
<select id="active" name="patientModel.Active" asp-for="patientModel.Active">