我將在這個問題上作出巨大的貢獻,因爲它是一個我認爲人們真正能夠利用的服務。將ASP.NET值傳遞到外部Web服務器iframe使用GET
我最近寫了一個使用ASP.NET MVC/C#的腳本。它非常簡單 - 它爲網頁上的用戶數據庫顯示前端。整個代碼可以張貼在下面,它並不需要閱讀,因爲它很簡單,但只是給出我正在做的全部背景 -
以下是網站的主頁:
@model IEnumerable<WhoIs.Models.Employee>
@{
ViewBag.Title = "Contoso Employees";
}
@section featured {
<section class="featured">
<div class="content-wrapper">
<hgroup class="title">
<h1>@ViewBag.Title.</h1>
</hgroup>
</div>
</section>
}
<label for="filter">Enter employee details here : </label>
<input type="text" name="filter" value="" id="filter" />
<h2><strong>Users</strong> (<a href="/home/create" style="color: blue;">create new</a>)</h2>
<br />
<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>Username</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.DomainAC</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>
<div id="iframe2">
<br />
<iframe src="http://webaddress.com/web/login.htm" width="400" height="400" />
</div>
這使用Contoso員工列表顯示一個簡單的頁面,讓管理員和用戶自己能夠編輯他們的詳細信息。在此之後,我有一個我無法控制的遠程Web服務器的iframe。 iframe有一些輸入框,它們通過GET將值傳遞給PHP函數。在上面選擇複選框的情況下,在我的ASP.NET/MVC中,我想將複選框(用戶電話號碼)的值傳遞給我的url/get命令。
我該怎麼做?
爲了完整起見,雖然這不能被編輯,iframe的HTML看起來像:
echo "<body>";
echo "<form action=d.php method=get>";
echo "<input type=hidden name=u value=$u>"; <!--Username passed from previous page of iFrame-->
echo "<input type=hidden name=p value=$p>";<!--Password passed from previous page of iFrame-->
echo "<input type=text name=s value=$s>";<!--List of phone numbers-->
在d.php的PHP簡化爲:
$u = $_GET['u'];
$p = $_GET['p'];
$s = $_GET['s'];
所以,如果我把一些值,該URL更改爲:
http://webaddress.com/web/d.php?u=112233&p=1234&s=12345678910&m=test
我想要什麼要做的是,對於上面選擇的每個複選框,請在&之後附加一個逗號,後跟所選用戶的行的電話號碼。
所以,舉例來說,如果我有這在我的ASP.NET MVC
Full Name Branch PhoneNo DomainAC Email Checkbox
Test1 Test1 7777777 DOMAIN\TEST1 [email protected] Ticked
我想運行http://webaddress.com/web/d.php?u=112233&p=1234&s=7777777&m=test
如果我有一個名爲「約翰」用的電話號碼的另一個用戶121212,則:
http://webaddress.com/web/d.php?u=112233&p=1234&s=7777777,121212&m=test
這可能嗎?我怎樣才能做到這一點 ?
你只是問如何將查詢字符串值追加到'iframe'的'src'屬性? – David
@David不完全的,最初的源代碼是。用戶然後登錄,然後iframe轉到:http://webaddress.com/web/t.php?u=PERSONS-USERNAME&p=PONSONS-PASSWORD。這會打開一個帶有一些輸入框的新頁面。在提交這個新頁面時,我想將ASP.NET中選定的值附加到地址中的現有值上,因此我們得到:http://webaddress.com/web/d.php?u=PERSONS- USERNAME&p = PERSONS-PASSWORD&s = PHONE-NUMBERS-FROM-ASP-AND-HTML-INPUT-BOX-APPENDED-WITH-COMMAS-DELIMITING&m = test –
目前還不清楚這些操作的結構是什麼。因此,在iframe中有一個登錄表單,用戶仍在該iframe內導航,並且您希望父框架從iframe中捕獲GET請求並進行自我修改?我不認爲這是可能的。父框架並不真正知道子框架中發生了什麼。 – David