2013-04-11 3 views
1

Я хочу иметь 2 формы на одной странице, каждый из которых обновляет разные данные в моей базе данных. Как получить одну кнопку отправки для запуска одного запроса UPDATE, а другая форма для запуска другого?2 формы, 1 страница - WebMatrix/Razor

Я создал тестовую страницу, но мне не повезло. Я предполагаю, что мне нужно назвать каждую форму, а затем создать 2 оператора if (ispost) для каждого из них?

Вот что я до сих пор:

@{ 
Layout = "~/_template1.cshtml"; 
Page.Title = "Add Property"; 

var db = Database.Open("StayInFlorida"); 

var propertyinfo = "SELECT * FROM PropertyInfo WHERE PropertyID='8'"; 
var propinfo = db.QuerySingle(propertyinfo); 

if (IsPost){ 
    var form1 = "UPDATE PropertyInfo SET PropertyName = @0, PropertyWebSite = @1 WHERE PropertyID='8'"; 
    db.Execute(form1, Request["PropertyName"], Request["PropertyWebsite"]); 
} 
if (IsPost){ 
    var form2 = "UPDATE PropertyInfo SET NumBedrooms = @0, NumBathrooms = @1 WHERE PropertyID='8'"; 
    db.Execute(form2, Request["NumBedrooms"], Request["NumBathrooms"]); 
} 
} 

<hr> 
<div class="tabbable"> 
<ul class="nav nav-tabs"> 
    <li class="active"><a href="#tab1" data-toggle="tab">Tab1</a></li> 
    <li><a href="#tab2" data-toggle="tab">tab2</a></li> 
</ul> 

<!--Tab Content--> 
<div class="tab-content"> 

<div id="tab1" class="tab-pane active"> 
<form method="post" action=""> 
<fieldset> 
<label>Property Name:</label> 
<input class="input-xlarge" type="text" name="PropertyName" placeholder=".input-xlarge" value="@propinfo.PropertyName"> 
<br> 
<label>Property Website:</label> 
<input class="input-xlarge" type="text" name="PropertyWebsite" placeholder=".input-xlarge" value="@propinfo.PropertyWebsite"> 
<br> 
<button type="submit" class="btn btn-success">Update</button> 
</fieldset> 
</form> 
</div> 

<div id="tab2" class="tab-pane"> 
<form method="post" action=""> 
<fieldset> 
<label>Number of Bedrooms:</label> 
<input class="input-xlarge" type="text" name="NumBedrooms" placeholder=".input-xlarge" value="@propinfo.NumBedrooms"> 
<br> 
<label>Number of Bathrooms:</label> 
<input class="input-xlarge" type="text" name="NumBathrooms" placeholder=".input-xlarge" value="@propinfo.NumBathrooms"> 
<br> 
<button type="submit" class="btn btn-success">Update</button> 
</fieldset> 
</form> 
</div> 
</div> 
</div> 

<hr> 

Спасибо, Гэвин

ответ

2

Добавить имя атрибута для каждой кнопки вместе со значением, например:

<button type="submit" class="btn btn-success" name="Action" value="Update1">Update</button> 

Затем проверить на сервере код которого был указан:

if (Request["Action"] == "Update1"){ 
    //button 1 was clicked 
} 
+0

должна ли каждая кнопка иметь уникальное имя и значение для каждой формы? – Gavin5511

+0

проигнорировать этот последний комментарий, работает, так много спасибо – Gavin5511

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