我有一个用 C#/Razor 编写的网页。我正在打印此页面上数据库中的所有值,如下所示:
<div style="min-height: 150px; font-size: 1.25em">
<div style="margin-bottom: .5em">
<table>
<thead>
<tr>
<th>Name</th>
<th>Branch</th>
<th>Phone No.</th>
<th>Extension</th>
<th>Email</th>
</tr>
</thead>
<tbody>
@foreach (var prod in Model)
{
<tr>
<td>@prod.FullName</td>
<td>@prod.Branch</td>
<td>@prod.PhoneNo</td>
<td>@prod.Extension</td>
<td>@prod.Email</td>
@if (User.IsInRole(@"Admins") || User.Identity.Name == prod.DomainAC)
{
<td><a href="/home/edit/@prod.Id" style="color: blue;">edit</a></td>
}
else
{
<td>User => @User.ToString()</td>
}
<td>
<input type="checkbox" name="message" value="@prod.PhoneNo">Message<br>
</td>
</tr>
}
</tbody>
</table>
</div>
</div>
这可以很好地显示他们的信息。我现在想做的事情有点困难。
在此下方,我有一个包含用户名、密码和消息的表单。使用此表单,我希望在提交时具有这样的行为,它将获取表单输入框中的值和上述 C#,构造一个链接,导航到该链接并打印服务器的响应
所以我有 :
@{if (IsPost)
{
//handle and print response
}
else
{
<form method="post" action="">
Username:<br />
<input type="text" name="u" /><br />
Password<br />
<input type="text" name="p" /><br />
<br />
Password<br />
<textarea name="m" cols="25" rows="5">
Enter your comments here...
</textarea><br>
<br />
<input type="submit" value="Submit" class="submit" />//when this is clicked, construct url and navigate to it.
</form>
}
}
我想从此表单构造的 URL 是:
http://webaddress.com/web/d.php?u=<Username entered by user>&p=<Password entered by user>&s=<List of Phone Numbers from the C# above where the checkbox is selected, comma separated>&m=<Comment submitted by user>
所以,如果我的名字是“John”,密码是“Password1”,评论是“Test”,并且我为电话号码“12345678”的用户选择了一个复选框,我将导航到的 URL 是:
http://webaddress.com/web/d.php?u=John&p=Password1&s=12345678&m=Test
理想情况下,我想<div>
在同一父网页上打印网页的响应,而不是在可能的情况下转到新网页。
我不知道从哪里开始,如何做,或者即使这是可能的。谁能帮帮我?
更新 :
尝试这个不会提醒我的 JQuery,所以我无法调试:
<script>
$("#thebutton").click(function() {
var form = $(document.getElementById('FormID'));
var urlToConstruct = 'http://webaddress.com/web/d.php';
urlToConstruct += '?u=' + form.find('#u').val();
urlToConstruct += '&p=' + form.find('#p').val();
('#employeeTable tbody tr').has(':checkbox:checked').find('td:eq(2)').each(function() {
urlToConstruct.append($(this).text());
alert(urlToConstruct);
})
});
</script>