2012-03-22 8 views
1

SQL Server 2005でasp.net MVC3を使用して次のプログラムを使用して、MVC.Amの新しいです。私は正しく動作していた次のコードを使用します。そして、私の質問はどのように値を取得するようにこのプログラムを変更する方法ですサインアップフォームの値の代わりにCURL(php)を追加し、その値をSQL Server 2005に追加しますか?mvc3の中でCURL値を取得するには?

UserManager.cs 

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using MvcDemo.Models.DB; 
using MvcDemo.Models.ViewModels; 

namespace MvcDemo.Models 
{ 
    public class UserManager 
    { 
     private UserView obj = new UserView(); 

     public void Add(UserView user) 
     { 
      obj.FirstName = user.FirstName; 

      DB.Signup sysUser = new Signup(); 
      sysUser.FirstName = user.FirstName; 
      sysUser.LastName = user.LastName; 
      sysUser.Contactnumber = Int32.Parse(user.ContactNumber); 
      sysUser.LoginID = user.LoginID; 
      sysUser.Password = user.Password; 
      obj.AddToSysUsers(sysUser); 
         } 

       } 
} 

AccountController.cs 


using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 
using System.Web.Security; 
using MvcDemo.Models.ViewModels; 
using MvcDemo.Models; 


namespace MvcDemo.Controllers 
{ 

    public class AccountController : Controller 
    { 

     public ActionResult SignUp() 
     { 
      return View("SignUp"); 
     } 




     [HttpPost] 
     public ActionResult SignUp(UserView user) 
     { 
      try 
      { 
       if (ModelState.IsValid) 
       { 
        UserManager userManager = new UserManager(); 

         userManager.Add(user); 
         FormsAuthentication.SetAuthCookie(user.FirstName, false); 
         return RedirectToAction("Welcome", "Home"); 

       } 
      } 
      catch 
      { 
       return View(user); 
      } 

      return View(user); 
     } 
    } 
} 

Userview.cs 

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Data; 
using System.Data.SqlClient; 
using System.ComponentModel.DataAnnotations; 



namespace MvcDemo.Models.ViewModels 
{ 

    public class UserView 
    { 


     [Required] 
     [Display(Name = "First Name")] 
     public string FirstName { get; set; } 

     [Required] 
     [Display(Name = "Last Name")] 
     public string LastName { get; set; } 

     [Required] 
     [Display(Name = "Contact Number")] 
     public string ContactNumber { get; set; } 

     [Required] 
     [Display(Name = "Login ID")] 
     public string LoginID { get; set; } 

     [Required] 
     [Display(Name = "Password")] 
     public string Password { get; set; } 



     public void AddToSysUsers(DB.Signup sysUser) 
     { 
      try 
      { 
       string con = System.Configuration.ConfigurationManager.ConnectionStrings["traineeEntities"].ConnectionString; 
       SqlConnection co = new SqlConnection(con); 
       co.Open(); 
       String str = "Insert into Signup values('"+sysUser.FirstName+"','"+sysUser.LastName+"',"+sysUser.Contactnumber+",'"+sysUser.LoginID+"','"+sysUser.Password+"')"; 
       SqlCommand cmd = new SqlCommand(str, co); 
       cmd.ExecuteNonQuery(); 
      } 
      catch (Exception ex) 
      { 
       //Message=Error Creating User: User already exists 
      } 

     } 
    } 
} 

Signup.cshtml 

@model MvcDemo.Models.ViewModels.UserView 

@{ 
    ViewBag.Title = "SignUp"; 
} 

<h2>Sign-Up</h2> 

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> 

@using (Html.BeginForm()) { 
    @Html.ValidationSummary(true) 
    <fieldset> 
     <legend>UserView</legend> 


     <div class="editor-label"> 
      @Html.LabelFor(model => model.FirstName) 
     </div> 

     <div class="editor-field"> 
      @Html.EditorFor(model => model.FirstName) 
      @Html.ValidationMessageFor(model => model.FirstName) 
     </div> 

     <div class="editor-label"> 
      @Html.LabelFor(model => model.LastName) 
     </div> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.LastName) 
      @Html.ValidationMessageFor(model => model.LastName) 
     </div> 

     <div class="editor-label"> 
      @Html.LabelFor(model => model.ContactNumber) 
     </div> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.ContactNumber) 
      @Html.ValidationMessageFor(model => model.ContactNumber) 
     </div> 

     <div class="editor-label"> 
      @Html.LabelFor(model => model.LoginID) 
     </div> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.LoginID) 
      @Html.ValidationMessageFor(model => model.LoginID) 
     </div> 

     <div class="editor-label"> 
      @Html.LabelFor(model => model.Password) 
     </div> 
     <div class="editor-field"> 
      @Html.PasswordFor(model => model.Password) 
      @Html.ValidationMessageFor(model => model.Password) 
     </div> 

     <p> 
      <input type="submit" value="Create" /> 
     </p> 
    </fieldset> 
} 

<div> 
    @Html.ActionLink("Return to Home page","Index", "Home") 
</div> 

答えて

0

実際に何をしたいのか分かりません。しかし、あなたが正しいことを理解していれば、PHPとcURLを介して申し込みフォームを提出したいと思っています。これは、あなたがカールを使用してHTTPポストを提出する方法です:あなたがサインアップフォーム変数を取得することによって何を意味するか

<?php 
$data = array(
    'FirstName' => 'The firstname value', 
    'LastName ' => 'The lastname value', 
    'ContactNumber ' => 'The contactnumber value', 
    'LoginID ' => 'The loginid value', 
    'Password ' => 'The password value' 
); 

$post = http_build_query($data); 

$url = 'http://url_to_your_server/Account/SignUp/'; 
$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $post); 
$response = curl_exec($ch); 

var_dump($response); 
+0

どのように私はCurlで値(パラメータ)を投稿することができ、どのようにmvcでその値を取得できますか? – user

+0

投稿したスニペットを使用してMVC Controllerに値を送信します。 'SignUp'アクションでは、' user.FirstName'、 'user.LastName'などを使って各パラメータにアクセスできます。 – alexn

0

かなりわからない、あなたは簡単にモデルから、あなたのアクションに渡されたことを行うことができる必要があります。

モデルに存在しない外の値をどうやって取得すればよいのでしょうか?使用する必要があります。 Requestプロパティ。

あなたの質問をさらに明確にすることができれば、より良い回答が得られるかもしれませんが、今のところあなたの目標については不明です。

関連する問題