在C# Web应用程序中,实现复选框与后端逻辑同步通常涉及以下几个步骤:
<form id="checkboxForm">
<input type="checkbox" name="options" value="Option1"> Option1<br>
<input type="checkbox" name="options" value="Option2"> Option2<br>
<input type="checkbox" name="options" value="Option3"> Option3<br>
<button type="button" onclick="submitForm()">Submit</button>
</form>
function submitForm() {
var checkboxes = document.getElementsByName('options');
var checkedValues = [];
for (var i = 0; i < checkboxes.length; i++) {
if (checkboxes[i].checked) {
checkedValues.push(checkboxes[i].value);
}
}
var xhr = new XMLHttpRequest();
xhr.open('POST', '/api/submit', true);
xhr.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log(xhr.responseText);
}
};
xhr.send(JSON.stringify({ options: checkedValues }));
}
using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks;
[ApiController]
[Route("api/[controller]")]
public class SubmitController : ControllerBase
{
[HttpPost]
public async Task<IActionResult> Post([FromBody] string[] options)
{
// 处理复选框值
foreach (var option in options)
{
Console.WriteLine(option);
// 在这里执行相应的逻辑
}
return Ok("复选框值已成功接收");
}
}
Startup.cs
或Program.cs
中正确配置了API路由。// 在Startup.cs中
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
现在,当用户选择复选框并点击提交按钮时,前端会将选中的值发送到后端API,后端接收到值后执行相应的逻辑。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。