2013-12-19 111 views
1

使用引導程序在我的MVC 4應用程序中創建登錄視圖。 它的工作,但我的繼承人登錄視圖:替換爲Html.BeginForm()

@using (Html.BeginForm()) 
{ 
    <link href="~/Content/dist/css/signin.css" rel="stylesheet"> 
    <div class="container"> 
     <form class="form-signin" role="form"> 
      <h2 class="form-signin-heading">Entrar</h2> 
      <input type="text" id="User" name="UserName" class="form-control" placeholder="Usuário" required /> 
      <input type="password" id="Pass" name="Password" class="form-control" placeholder="Senha" required> 
      <button class="btn btn-lg btn-primary btn-block" type="submit">Entrar</button> 
     </form> 
    </div> 
} 

但CSS的引用是'link href="~/Content/dist/css/signin.css" rel="stylesheet'線,但如果我刪除@Html.BeginForm(),但我不能讓我的動作它只能被解僱時,我做了一個HttpPost

如何在沒有Html.BeginForm()的情況下撥打我的電話號碼?

+1

爲什麼不把這個'link'元素放到表單之外。無論如何,你最好把它放在'head'裏面。 – Kenneth

+0

@Kenneth我試圖把鏈接元素放在窗體外面,但是我得到了框和按鈕大小的改變。我需要一些方法來提交按鈕知道它按下時去哪裏。 Withoud BeginForm方法。 BeginForm改變了窗體和按鈕的大小。 – gog

+1

這與鏈接元素的位置無關。原因可能是您的CSS在元素處於表單時爲其定義了樣式(因爲您在使用引導時就是這種情況)。你應該修改你的css,以便它不這樣做。如果沒有表單,您無法發佈表單。 – Kenneth

回答

3

我現在可以看到你正在使用的內部海誓山盟兩種形式。你應該刪除bootstrap,並確保BeginForm發出正確的表單:

<link href="~/Content/dist/css/signin.css" rel="stylesheet"> 
    <div class="container"> 
     @using (Html.BeginForm("your-action", "your-controller", 
           FormMethod.Post, 
           new { @class="form-signin", role = "form})) 
     { 
      <h2 class="form-signin-heading">Entrar</h2> 
      <input type="text" id="User" name="UserName" class="form-control" placeholder="Usuário" required /> 
      <input type="password" id="Pass" name="Password" class="form-control" placeholder="Senha" required> 
      <button class="btn btn-lg btn-primary btn-block" type="submit">Entrar</button> 
     } 
    </div> 
+0

謝謝,這就解決了我的問題。 – gog

+0

我也是。我有完全相同的兩種形式的情況。 –

1

移動你的鏈接作爲註釋到<head>表示,但解決href值是這樣的:

<link href="@Url.Content("~/Content/dist/css/signin.css")" rel="stylesheet" type="text/css" /> 
+0

對不起,它不起作用,BeginForm會覆蓋引導程序窗體class =「form-signin」role =「form」 – gog