0
私はasp.net MVCビューから外部URLリンクを開いています。asp.netのhrefを使用してjavascriptから新しいウィンドウを開く方法MVC
ここで、リンクを開くときにエントリを追加する必要があります。 私の思考は、私は私のウェブAPIコントローラにAJAX呼び出しを呼び出してから、URL
@{
var token = Session["SecurityToken"] as AppSecurityToken;
if (token != null && token.Claims != null)
{
foreach (var claim in token.Claims)
{
if (!String.IsNullOrWhiteSpace(claim.Description))
{
string imagepathv = Url.Content("~/") + "images/" + claim.Name + ".png";
string hreftext = $"{claim.Description}?sessionid={token.SessionId}";
<li>
<a href="" onclick="UserNameAccess('@hreftext');">
<img src="@imagepathv" />
</a>
</li>
}
}
}
}
<script lang="javascript" type="text/javascript">
function UserNameAccess(input) {
window.open(input, "_blank");
var baseSiteUrl = '@ConfigurationManager.AppSettings["WebApiBaseUrl"]';
var request = { "email": "sadasd", "firstname": "asdasd", "lastname": "dasdasda" };
$.ajax({
type: "POST",
url: baseSiteUrl + "DataAccessApi/LogUserClaimAccesshistory",
data: JSON.stringify(request),
datatype: "text",
contentType: "application/json",
success: function (resultData) {
var responseJson = resultData;
if (responseJson.Success === true) {
alert("success");
}
else {
alert("error1");
}
},
failure: function (error) {
alert(error);
},
error: function (jqXhr, textStatus) {
if (textStatus === 'timeout') {
alert("Request Timeout");
//do something. Try again perhaps?
} else {
alert(jqXhr.statusText);
}
},
timeout: 30000 // sets timeout to 3 seconds
});
}
</script>
public class DataAccessController : ApiController
{
[Route("DataAccessApi/LogUserClaimAccesshistory")]
public MyJsonResponse LogUserClaimAccesshistory(UserClaimHistory request)
{
MyJsonResponse result = new MyJsonResponse();
return result;
}
}
public class MyJsonResponse
{
[JsonProperty]
public bool Success { get; set; }
[JsonProperty]
public string Message { get; set; }
[JsonProperty]
public string CustomInfo { get; set; }
}
public class UserClaimHistory
{
[JsonProperty("email")]
public string Email { get; set; }
[JsonProperty("firstname")]
public string FirstName { get; set; }
[JsonProperty("lastname")]
public string LastName { get; set; }
}
*理由* ...:
は答えを更新しましたか? – Wndrr
href click on web apiをクリックしてリンクを開きます –
どのWeb APIですか?どうやってそれを呼びますか?あなたは図書館を使いますか?それは何を返すのですか? – Wndrr