2013-09-10 3 views
2

Так что я пытаюсь иметь кнопку при щелчке, она отправляет данные на сервер sql. Я думал, что могу просто создать форму, в которой будет только кнопка отправки, и я бы обработал эту кнопку отправки в моем домашнем контроллере.html формы с кодом C#

Мой HTML как таковой:

<body> 
<div style="border: solid; max-width: 300px; margin-left: auto; margin-right: auto"> 


    @using(Html.BeginForm()) 
    { 

    <input type="submit" value="Vote"/> 
    } 

</div> 



</body> 

в моем родном контроллере я думал, что он должен был обрабатывать формы, такие как:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 
using System.Data.SqlClient; 

namespace WAgermanClub.Controllers 
{ 
public class HomeController : Controller 
{ 


[HttpPost] 
    public ActionResult add(string vote1) 
    { 




     SqlConnection vote1connection = new SqlConnection("user id=userid;" + 
           "password=validpassword;server=o5z5dpwpzi.database.windows.net;" + 
           "Trusted_Connection=yes;" + 
           "database=wagermanclub_votes; " + 
           "connection timeout=30"); 
     try 
     { 
      vote1connection.Open(); 
     } 
     catch (Exception g) 
     { 
      Console.WriteLine(g.ToString()); 
     } 

     try 
     { 
      SqlDataReader myReader = null; 
      SqlCommand myCommand = new SqlCommand("select * from table", vote1connection); 
      myReader = myCommand.ExecuteReader(); 
      while (myReader.Read()) 
      { 

       Console.WriteLine(myReader["Vote1"].ToString()); 
      } 
     } 
     catch (Exception i) 
     { 
      Console.WriteLine(i.ToString()); 
     } 


     SqlCommand vote1command = new SqlCommand("INSERT INTO table (Column1, Vote1) " + 
           "Values (1, 'Vote1' + 1)", vote1connection); 


     vote1command.ExecuteNonQuery(); 

     try 
     { 
      vote1connection.Close(); 
     } 
     catch (Exception h) 
     { 
      Console.WriteLine(h.ToString()); 
     } 






    } 
} 
} 

Все выглядит отлично, за исключением я получаю сообщение об ошибке говоря, что в add (string vote1) не все пути кода возвращают значение. Что я делаю не так? У меня нет такой большой хватки на html-формах, но я чувствую, что как только я получу это, это приведет к лучшему пониманию.

Вся помощь оценивается! Благодаря!

+0

Это не имеет никакого отношения к вашему html. –

+3

Как ясно указывается ошибка, ваша функция C# должна вернуть значение. – SLaks

+0

@SLaks Могу ли я привести пример? –

ответ

3

Это;

public ActionResult add(string vote1) 

Означает, что вы объявили метод, возвращающий переменную ActionResult. В вашем методе нет оператора возврата. Как только вы это исправите, ошибка исчезнет.

+1

ahhhhhhhhhhhh, о, я должен был это увидеть. Благодаря! –

Смежные вопросы