programing

Url.action()을 사용하여 동적 Javascript 값 전달

batch 2023. 6. 30. 22:12
반응형

Url.action()을 사용하여 동적 Javascript 값 전달

Url.action()을 사용하여 동적 값을 전달하는 방법을 알려줄 수 있는 사람이 있습니까?

뭐랄까,

var firstname="abc";
var username = "abcd";
location.href = '@Html.Raw(@Url.Action("Display", "Customer", new { uname = firstname ,name = username}))';

이름, Url.action() 메서드 내에서 사용자 이름이 참조되지 않습니다.

Url.action()을 사용하여 이러한 동적 값을 전달하는 방법은 무엇입니까?

@Url.Action()방법은 성공적입니다.server-side그래서 당신은 a를 통과할 수 없습니다.client-side이 함수에 대한 값을 매개 변수로 지정합니다.다음과 같은 상황에 대비할 수 있습니다.client-side의 변수server-side출력의 문자열인 이 메서드에서 생성된 URL입니다.다음과 같은 방법을 사용해 보십시오.

let firstName = "John";
let userName = "Smith";
location.href = '@Url.Action("Display", "Customer")?uname=' + firstName + '&name=' + userName ;

@Url.Action("Display", "Customer")에서 처리됩니다.server-side그리고 나머지 문자열은 위에서 처리됩니다.client-side결과를 연결하기server-side를 사용하는 방법client-side.

이 대답은 질문과 100% 관련이 없을 수 있습니다.하지만 그것은 문제를 해결합니다.저는 이 요구 사항을 달성하는 간단한 방법을 찾았습니다.코드는 다음과 같습니다.

<a href="@Url.Action("Display", "Customer")?custId={{cust.Id}}"></a>

위의에서는 {{cust}입니다.Id}은(는) Angular입니다.JS 변수.그러나 JavaScript 변수로 대체할 수 있습니다.

저는 이 방법을 사용하여 여러 변수를 전달하려고 시도하지 않았지만, 필요한 경우 URL에도 추가할 수 있기를 희망합니다.

가장 쉬운 방법은 다음과 같습니다.

  onClick= 'location.href="/controller/action/"+paramterValue'

저의 경우 다음과 같은 작업을 수행하는 것만으로도 효과가 좋았습니다.

컨트롤러:

[HttpPost]
public ActionResult DoSomething(int custNum)
{
    // Some magic code here...
}

수행하지 않고 양식을 만듭니다.

<form id="frmSomething" method="post">
    <div>
        <!-- Some magic html here... -->
    </div>
    <button id="btnSubmit" type="submit">Submit</button>
</form>

양식에 작업을 추가한 후 제출을 트리거하려면 버튼 클릭 이벤트를 설정합니다.

var frmSomething= $("#frmSomething");
var btnSubmit= $("#btnSubmit");
var custNum = 100;

btnSubmit.click(function()
{
    frmSomething.attr("action", "/Home/DoSomething?custNum=" + custNum);

    btnSubmit.submit();
});

이것이 바토스에게 도움이 되길 바랍니다!

언급URL : https://stackoverflow.com/questions/15112055/passing-dynamic-javascript-values-using-url-action

반응형