2016-04-20 20 views
0

私はASP.NETとMVCを使用しており、文字列のリストを取得してフォームを入力しようとしています。基本的には、口座番号をインポートしてフォームに入力し、送信ボタンを押す必要があります。私は、文字列を持っている、とViewBagを使用して、上にそれらを転送するので、同様に(私はViewDataをとTempDataを、同様にこれを試してみた):ViewBagの文字列を反復してフォームに入力する

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に潜入しようとしています。私はそれがリスト内のすべての文字列のためのdocument.getElementByIdなどを作成し、その後、それを設定するのChromeのデバッガで見ることができますが、理想的に、私は口座番号の人口リストを参照してくださいね

<script> 
function getExcelSSNs(){ 
@foreach (string s in ViewBag.ExcelSSNs) 
{ 
     <text> 
document.getElementById(“ActInput”).value = @s + “\n" 
     </text> 
    } 
} 

ユーザーが提出するための形式で入力します。実際のフォームに何か問題がある可能性があるので、ここにも含めておきます。

<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

だけコメントした

<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> 

。私はhtmlの "ActInput"とフォームの "Actinput"に注目しました。これは私がここでコードを入力する際のエラーであり、実際のコードに反映されていません。だからそれは問題ではありません。 – Josh

答えて

0

あなたがしたいことは本当に明確ではありません。フォームには入力が多いの?それは、あなたがここに貼り付けコードから思えるようにそれは、ただ一つだ場合、それはの終わりに必要な半列が含まれていません)このライン

document.getElementById(“ActInput”).value = @s + “\n" 

があなたの@foreach 1の中に何度も繰り返していることに注意してください私はあなたが必要としているとは思わない、同じ入力値を何度も何度も置き換えるだけです。

はまた、あなたのHTMLは次のようになります。あなたは間違った方法で入力を閉じて、idが「Actinput」の代わりに「ActInput」

+0

はい、私の問題を理解しています。しかし、この問題は、入力フォームへの入力に関するものです。 Razor(ViewBag、Model、ViewDatat、TempData)を使うことができます。それらのすべてがビューに文字列のリストを正常に送信します。問題ありません。 問題が発生すると、フォームに入力されます。それはカミソリとjavasciptを混ぜるのが好きではありません(現時点では構文エラーが出ていますが、まだ実行されています)。現在、私はjavascriptを使用していることを明確に示すために角括弧を使用しようとしていますが、ポピュレートしていません。 – Josh

+0

私は長い文字列があってもフォームにアクセスできないので、それでも文字列が埋め込まれないと思っていますか? – Josh

+0

Ok回答を編集しました。 – tocqueville

関連する問題