2016-06-16 32 views
0

我想写一个代码在VS2012我可以键入用户名,勾选表中的项目复选框,并提交。然后它会将每个项目的用户名插入数据库表中。我尝试做这样的事情,但它不会插入。添加多行到数据库表剃须刀CSHTML

我想将新行添加到名为SectionAccess的表中。因此,如果一个ID“group1”分别检查3个项目(带有链接1,2,3),它将在表中插入3行('group1','1'),('group1','2'), ( '组1', '3')。

@{ 
    Layout = "~/_SiteLayout.cshtml"; 
    Page.Title = "Admin Console"; 

    var db = Database.Open("Testreporting"); 
    var sql_c = "select Link, PPMID, EPRID, Proj_Name from AdminConsole;"; 
    var addgroup = "insert into SectionAccess (Access, UserID, Link) values ('user', '" + Request["UserID"] + "','" + Request["add"] + "');"; 
    var temp = ""; 
    var Link = ""; 
    var r_group = Request["UserID"]; 
    int counter = 0; 

    if (!Request.Params["add"].IsEmpty()) 
    { 
     foreach(var row in db.Query(sql_c)){ 
      if (Request["add"+Link]=="True") 
      { 
       db.Execute(addgroup); 
      } 
     } 
    } 
} 

<form name ="NewGroup" method="get" > 
    <fieldset> 
     <legend>Add New Group</legend> 

     <h6>Step 1:</h6> 
     <label for ="NewGroupID">Enter New Group ID: </label> 
     <input type="text" name= "UserID" value="@Request.Form["UserID"]" /> 

     <h6>Step 2:</h6> 
     <p>Add Desired Project: </p> 

     <table>  
     <tr> 
     <th >#</th> 
     <th >PPMID</th> 
     <th >EPRID</th> 
     <th >Project Name</th> 
     <th >Add</th> 
     </tr> 

     @foreach (var row in db.Query(sql_c)) { 
     counter++; 

     <tr class="@temp"> 

      <td><br /> 
        @row.Link 
      </td> 

      <td><br /> 
        @row.PPMID 
      </td> 

      <td ><br /> 
        @row.EPRID 
      </td> 

      <td ><br /> 
        @row.Proj_Name 
      </td> 

      <td><br /><input type="checkbox" id="checkbox" name="[email protected](row.Link)" value="@row.Link"/></td> 

     </tr>    
     } 
     </table> 

     <br /><input style="float:right;font-weight:bold" type="submit" onclick="return confirm('Are you sure you want to add?')" id="add" name="[email protected](Link)" value="@Link"/>Add Project<br /> 

     <div class = "home"> 
      <br /><a href="@Href("~/AdminConsoleHome.cshtml")">Back to Homepage</a> 
     </div> 

    </fieldset> 


</form> 

我在做什么错在这里?

+0

在' Sami

+0

您试图创建SPA(单页)还是MVC视图页?我看到'' is WebForms way to point a physical aspx page, MVC should use 'Back to Homepage'。 –

+0

参数化您的查询。 –

回答

0

MVC应该使用这个。 索引是用户操作和家是您的控制器。

<a href="@Url.Action("Index", "Home")">Back to Homepage</a> 
相关问题