所以我使用ASP.NET和MVC并尝试获取字符串列表并用它们填充表单。基本上,某人应该能够导入帐号,用它们填充表单,然后点击提交按钮。我已经获得了字符串,并使用ViewBag将它们转移过来(我已经尝试过使用ViewData和TempData),如下所示:
public ActionResult Index(){
String Path = @“C:\Users\a584619\testdata.xlsx”;
String SheetName = “Sheet1”;
DataReader dr = new DataReader();
List<String> data = dr.readExcelFile(SheetName,Path);
ViewBag.ExcelSSNS = data;
return View();
}
这是html代码。我试图迭代这些项目,并在Razor代码之间偷偷摸摸一些javascript以填充表单。
<script>
function getExcelSSNs(){
@foreach (string s in ViewBag.ExcelSSNs)
{
<text>
document.getElementById(“ActInput”).value = @s + “\n"
</text>
}
}
我可以在Chrome调试器中看到它正在为List中的每个字符串创建document.getElementById等,然后设置它,但理想情况下我会在表单中看到一个填充的帐号列表供用户提交。实际的形式可能有问题,所以我也把它包括在内。
<div id = “input”>
<form>
<input type = “text” id = “Actinput” class = “form-control” placeholder = “Paste/Import Here” required style = “ display : table; height : 45h; resize: none; border-radius: 0px; overflow-y: scroll”>
</form>
</input>
这里的任何指导都会非常感激。感谢大家。
答案 0 :(得分:0)
你不清楚自己想做什么。表单有多个输入还是只有一个?如果它只是一个,就像你在这里粘贴的代码一样,请注意这一行
document.getElementById(“ActInput”).value = @s + “\n"
在@foreach中多次重复1)它没有在声明的末尾包含必要的半列,2)只是反复替换相同的输入值,我不会这样做。认为你需要的是什么。
另外,你的Html应该是:
<form>
<input type="text" id="ActInput" class="form-control" placeholder="Paste/Import Here" style="display: table; height: 45px; resize: none; border-radius: 0px; overflow-y: scroll" required/>
</form>
您以错误的方式关闭了输入,并且ID为&#34; Actinput&#34;而不是&#34; ActInput&#34;