Espoir de bien vouloir peut me aider, il peut être une question simple mais me frustré car il n'y a pas de solution pour elle,comment envoyer champ caché au contrôleur par modèle de liaison
Je veux passer la valeur d'un champ caché au contrôleur via le modèle de liaison, peu importe quelle approche j'utilise, juste passer la valeur de la vue au contrôleur via le modèle peut fonctionner pour moi,
c'est ma gamme de curseur
<label for="amount">دامنه قیمت:</label>
<div id="connect" class="noUi-target noUi-ltr noUi-horizontal noUi-background">
</div>
c'est le champ caché,
<input type="hidden" name="MinPrice" value="@Model.MinPrice" id="MinPrice" />
<input type="hidden" name="MaxPrice" value="@Model.MaxPrice" id="MaxPrice" />
<script>
var connectSlider = document.getElementById('connect');
noUiSlider.create(connectSlider, {
start: [40000, 800000],
connect: true,
range: {
'min': 0,
'max': 2000000
}
}); < /script>
<script>
var connectBar = document.createElement('div'),
connectBase = connectSlider.querySelector('.noUi-base');
// Give the bar a class
for styling and add it to the slider.
connectBar.className += 'connect';
connectBase.appendChild(connectBar);
connectSlider.noUiSlider.on('update', function(values, handle, a, b, handlePositions) {
var offset = handlePositions[handle];
// Right offset is 100% - left offset
if (handle === 1) {
offset = 100 - offset;
}
// Pick left for the first handle, right for the second.
connectBar.style[handle ? 'right' : 'left'] = offset + '%';
}); < /script>
<script>
var valueInput = document.getElementById('MinPrice'),
valueSpan = document.getElementById('MaxPrice');
// When the slider value changes, update the input and span
connectSlider.noUiSlider.on('update', function(values, handle) {
if (handle) {
valueInput.value = values[handle];
} else {
valueSpan.innerHTML = values[handle];
}
});
// When the input changes, set the slider value
valueInput.addEventListener('change', function() {
connectSlider.noUiSlider.set([null, this.value]);
});
< /script>
ceci est mon JS qui remplissent le champ caché, ces deux champs sont remplis correctement, mais ne pas envoyer de données au contrôleur via le modèle,
vous remercie tous pal,
Mise à jour
ceci est mon modèle:
public class SearchModel
{
public string Devision { get; set; }
public string Gender { get; set; }
public int? MinPrice { get; set; }
public int? MaxPrice { get; set; }
public string Brand { get; set; }
public string Sport { get; set; }
public string Size { get; set; }
public string ProductGroup { get; set; }
public List<tblSiteItem> Result { get; set; }
public List<tblSiteItem> Sales { get; set; }
public List<string> Devisions { get; set; }
public List<string> Genders { get; set; }
public List<string> Brands { get; set; }
public List<string> Sports { get; set; }
public List<string> Sizes { get; set; }
public List<string> ProductGroups { get; set; }
public List<tblSiteCart> CartItems { get; set; }
public int PageNo { get; set; }
public int Barcode { get; set; }
}
Comme je l'ai dit la valeur est correctement remplie, donc je ne ai pas besoin du code pour le rendre Corrigé, ne liez pas hdnValue au champ dans mon modèle. Je veux dire MinPrice et MaxPrice.
Edité Je ne suis pas autorisé à télécharger des images, malheureusement, si je tout était assez évident à regarder, toute façon, j'expliquer les détails:
quand je change la slideBar, mes feux JS et les valeurs changent,
lorsque je clique sur le bouton de recherche tous les champs de mon modèle est champ à l'exception de ces deux champ, je veux dire MinPrice et MaxPrice
résultat montre une page vide, encore une fois mes Js continuent à feu puis revenir aux valeurs par défaut,
dans le dernier essai j'ai changé le champ masqué type = « text » et scie que lorsque je change la barre de défilement, la valeur est dans ma zone de texte mais pas liée à mon modèle de vue lorsque je touche le bouton de recherche.
Je suis sûr qu'il ya quelque chose de mal avec mon viewmodel, mais comment je peux comprendre ce qui est incorrect :(s'il vous plaît jeter un regard bienveillant à mon code
dans votre exemple vous avez écrit Votre valeur Je m'attends à être un Model.MinPrice, avec ce que je m'attends à voir mon modèle est rempli avec ce données dans le contrôleur – sariiia
** Essayez ceci: ** Au lieu de value = "YourValue" vous pouvez mettre value = "@ Model.MinPrice". –
J'ai testé cela aussi mais pas de succès, s'il vous plaît consulter le post mis à jour, merci pour votre temps mon ami – sariiia