Hi
In my view, i want to access some of my code behind variables which stored in TempData. To do this, i've using this code for my view & scripts :
@model DefaultVisitProductHeaders<div class="row"><div class="col-md-6"><form id="frmNewPackageHeaderItem" asp-action="Create" method="post"><div asp-validation-summary="All" class="text-danger"></div><input type="hidden" id="hdnDefaultVisitProductHeaderRowID" asp-for="DefaultVisitProductHeaderRowID" value="" /><div class="form-group"><label asp-for="DefaultVisitProductHeaderName" class="control-label"></label><input asp-for="DefaultVisitProductHeaderName" class="form-control" /><span asp-validation-for="DefaultVisitProductHeaderName" class="text-danger"></span></div><br /><h4>Package Details</h4><hr /><div id="divPackageDetails" class="container"> @Html.RenderAction("GetPackageDetails", "Package", new { id = string.Empty })</div><div class="text-right"> <button type="button" id="btn" class="btn btn-info" onclick="test()">Test</button> @Html.ActionLink("Back", "Index", "Package")</div></form></div></div> @section Scripts{ <script> function test() { var lstPackageDetails = '@MyProject.Doctor.Controllers.PackageController.GetPackageDetailsForJS(this.Context)'; }</script> }
And here is my csharp method (GetPackageDetailsForJS) :
public static string GetPackageDetailsForJS(HttpContext context) { string strResult = string.Empty; strResult = HelperMethods.GetJsonStringFromTempData(context, "_lstPackageDetails"); return strResult; }
My problem is that the test() event handles for button (btn) call my csharp method (GetPackageDetailsForJS) when page being loaded at the first time & can not call it when i click on button. so in my browser devTools, i'm facing an empty variable as follow :
<script> function test() { var lstPackageDetails = '[]'; }</script>
Can anybody help me where is the problem & how to solve it?
Thanks in advance